JavaScript を自ら学ぶ人のための質問スレッドです。
次スレは>>950が(本スレで改善案があれば考慮して)立ててください
■規則/推奨ルール
・メール欄を空欄にし、名前にレス番を入れることを強く推奨(なりすまし防止)
・質問内容は具体的に。言葉だけでなく、出来る限り再現性を確認したサンプルコードの掲示。
・質問テンプレートの利用推奨。
・質問への「答え」だけでなく「意見」を出しても良い。
■禁止行為
・丸投げ質問
・迷惑スクリプトの質問
・オレオレ用語の使用(一般的な用語を使用する事)
・煽り、批判等の他人を不快にさせる行為(批判の代わりに「AよりBが良い」のような代案を出す事)
■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。
【条件】期待する回答の条件を書いてください。
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
1レスに収まらないならコード投稿サイトを利用してください。
http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/
■回答者へ
・回答には多様性があります。他人の回答を尊重してください
・動作ブラウザや環境が限られる場合は、それを明記してください
・他人の回答を批判する代わりに、自分ならこう書くという例を示してください
・質問者がJavaScriptでなければ実現できないと勘違いしてるなら、その否定としてHTMLとCSSで実装しても良い
・他人の回答を見たくないのであれば、文句をつける代わりにNGにして見えないようにしてください。文句をつける=荒らしです
+ JavaScript の質問用スレッド vol.133 +
■ このスレッドは過去ログ倉庫に格納されています
2018/04/16(月) 00:09:43.45ID:???
2018/04/29(日) 23:26:04.99ID:???
2018/04/30(月) 02:27:12.24ID:???
うっせかす
俺より底辺共が生意気言うなぼけ
俺より底辺共が生意気言うなぼけ
2018/04/30(月) 07:42:58.80ID:???
簡潔で非ライブラリ依存なコードをあっさり提示されてて草
2018/04/30(月) 08:54:29.58ID:???
>>242
何の話?
何の話?
2018/04/30(月) 09:26:53.31ID:???
わからんね。簡素じゃなくて冗長なクソコードなら
>>220にあるけどそれのことかな?w
なにがクソかというと無駄なことしてるから。
clearTimeoutが無効な値を渡しても例外でないのは保証されてるのだから
>>220はこれだけでいい。これがクソコードである根拠
やらなくて良いことをやるのは丁寧なのではなく単に無駄なだけ
document.getElementById('mybutton').addEventListener( 'click', function f(){
var delay = 3000;
clearTimeout(f.timeoutId);
f.timeoutId = setTimeout( function(){
/* my oparation */
}, delay );
}, false );
そしてもちろんこれはライブラリを使えば、もっと簡素に実現できる
$('#mybutton').click(_.debounce(function() {
/* my oparation */
}, 3000));
非ライブラリのコードも簡素に書けないやつが、
ライブラリよりも簡素に書けるとか言わないほうが良い
恥をかくだけだぞw
>>220にあるけどそれのことかな?w
なにがクソかというと無駄なことしてるから。
clearTimeoutが無効な値を渡しても例外でないのは保証されてるのだから
>>220はこれだけでいい。これがクソコードである根拠
やらなくて良いことをやるのは丁寧なのではなく単に無駄なだけ
document.getElementById('mybutton').addEventListener( 'click', function f(){
var delay = 3000;
clearTimeout(f.timeoutId);
f.timeoutId = setTimeout( function(){
/* my oparation */
}, delay );
}, false );
そしてもちろんこれはライブラリを使えば、もっと簡素に実現できる
$('#mybutton').click(_.debounce(function() {
/* my oparation */
}, 3000));
非ライブラリのコードも簡素に書けないやつが、
ライブラリよりも簡素に書けるとか言わないほうが良い
恥をかくだけだぞw
2018/04/30(月) 09:38:55.23ID:???
>>217
単に_.debounceの使い方が良くない
_.debounce は オリジナルのイベントハンドラを
遅延実行機能付のイベントハンドラに変えるもの
と考えたほうが良い
そこに書いたコードは、これだけでいい
$(document).on('click', '#hoge', _.debounce(function() {
$('#moge').fadeOut();
// いろいろな処理
}, 3000));
jQueryのstopはよく分からんね。俺もアニメーションはあまり使わないので。
俺が言えることは今はCSSを使ったほうが良いということぐらいだろう
stopだけで単体で実行したらキャンセルされるが、stop().delay()みたいに
続けるとキャンセルできないアニメーションのキュー(?)の絡みの仕様なんだろうけど
ドキュメントにも、setTimeoutを置き換えるものじゃないと書いてあるので
https://api.jquery.com/delay/
setTimeoutをそのまま使うか、lodashでラップされた関数を使うほうが良いのだろう
単に_.debounceの使い方が良くない
_.debounce は オリジナルのイベントハンドラを
遅延実行機能付のイベントハンドラに変えるもの
と考えたほうが良い
そこに書いたコードは、これだけでいい
$(document).on('click', '#hoge', _.debounce(function() {
$('#moge').fadeOut();
// いろいろな処理
}, 3000));
jQueryのstopはよく分からんね。俺もアニメーションはあまり使わないので。
俺が言えることは今はCSSを使ったほうが良いということぐらいだろう
stopだけで単体で実行したらキャンセルされるが、stop().delay()みたいに
続けるとキャンセルできないアニメーションのキュー(?)の絡みの仕様なんだろうけど
ドキュメントにも、setTimeoutを置き換えるものじゃないと書いてあるので
https://api.jquery.com/delay/
setTimeoutをそのまま使うか、lodashでラップされた関数を使うほうが良いのだろう
2018/04/30(月) 09:41:25.07ID:???
やっぱり俺がいないとスレのレベルが下がるなw
jQueryを使ったコードだけでなく、
ネイティブのコードもね
jQueryを使ったコードだけでなく、
ネイティブのコードもね
2018/04/30(月) 10:15:48.14ID:???
>>244
旧泥でclearTimeoutにundefinedを渡すとエラー吐くことがあった気がするが
nullや、あと確かfalseだとエラーを吐かない
LS仕様ではdo nothingと決められていることや
ライブラリではその辺の扱いを別所で定義しているから行数が減ることは間違いない
見て読みやすいコードは無駄ではないことも間違いないとは思うが
旧泥でclearTimeoutにundefinedを渡すとエラー吐くことがあった気がするが
nullや、あと確かfalseだとエラーを吐かない
LS仕様ではdo nothingと決められていることや
ライブラリではその辺の扱いを別所で定義しているから行数が減ることは間違いない
見て読みやすいコードは無駄ではないことも間違いないとは思うが
248247
2018/04/30(月) 10:21:17.97ID:??? 今ちらっとlodashのgithubを見てきたがdebounce.jsのcancelで以下のように確認を入れてから
cancelTimerでclearTimeoutしているところから見ても、少なくとも無駄ではないと思う
というより、事前確認が無駄ならlodashのこの記述も無駄になるような
if (timerId !== undefined) {
cancelTimer(timerId)
}
cancelTimerでclearTimeoutしているところから見ても、少なくとも無駄ではないと思う
というより、事前確認が無駄ならlodashのこの記述も無駄になるような
if (timerId !== undefined) {
cancelTimer(timerId)
}
2018/04/30(月) 10:27:39.80ID:???
>>247
そういうことを考慮したとしてもこれだけですむ
冗長なことに変わりはないよ
document.getElementById('mybutton').addEventListener( 'click', function f(){
var delay = 3000;
if (f.timeoutId) clearTimeout(f.timeoutId);
f.timeoutId = setTimeout( function(){
f.timeoutId = undefined;
/* my oparation */
}, delay );
}, false );
そういうことを考慮したとしてもこれだけですむ
冗長なことに変わりはないよ
document.getElementById('mybutton').addEventListener( 'click', function f(){
var delay = 3000;
if (f.timeoutId) clearTimeout(f.timeoutId);
f.timeoutId = setTimeout( function(){
f.timeoutId = undefined;
/* my oparation */
}, delay );
}, false );
250247
2018/04/30(月) 10:46:15.44ID:??? >>249
clearTimeoutに渡す内容の確認はクソコードかつ無駄ではなく必要なものだったと
認めたということで良いかな
初期化は好み次第だと思うけどね
javascriptではプロパティは事前定義しなくてもいいというのは正直どうかと思うところがある
clearTimeoutに渡す内容の確認はクソコードかつ無駄ではなく必要なものだったと
認めたということで良いかな
初期化は好み次第だと思うけどね
javascriptではプロパティは事前定義しなくてもいいというのは正直どうかと思うところがある
2018/04/30(月) 10:51:32.04ID:???
いや? 無駄だよ。
意味があるというのならその証拠をどうぞ
意味があるというのならその証拠をどうぞ
2018/04/30(月) 10:56:25.11ID:???
こんな木っ端の作法で云々言うのやめようよ
2018/04/30(月) 10:57:24.46ID:???
jq兄貴lodashを否定してしまう
2018/04/30(月) 10:57:57.08ID:???
せやねw
最終的な答の簡潔さに比べれば
そんな問題考えるだけ無駄
$(document).on('click', '#hoge', _.debounce(function() {
$('#moge').fadeOut();
// いろいろな処理
}, 3000));
最終的な答の簡潔さに比べれば
そんな問題考えるだけ無駄
$(document).on('click', '#hoge', _.debounce(function() {
$('#moge').fadeOut();
// いろいろな処理
}, 3000));
2018/04/30(月) 10:58:33.72ID:???
この流れで認めるとこはビシっと認めたらかっこよかった
2018/04/30(月) 11:01:33.09ID:???
どこかの誰かと違って、ライブラリ最高って言ってるわけじゃないんだから
ライブラリにも無駄なところはあるよ。(はい、ビシッと認めましたよ?w)
だからこそライブラリはバージョンアップし続けてるんだろう。
ライブラリにも無駄なところはあるよ。(はい、ビシッと認めましたよ?w)
だからこそライブラリはバージョンアップし続けてるんだろう。
2018/04/30(月) 16:37:45.33ID:???
解釈の原因は解釈者自身の固定観念。解釈の自由には責任が伴う
言葉風紀世相の乱れはそう感じる人の心の乱れの自己投影。人は鏡
憤怒は一時の狂気、無知無能の自己証明。中途半端な知識主ほど激昂
「真実は一つ」は錯誤。執着する者ほど矛盾を体験(争い煩悩)
他人に不自由(制約)を与えれば己も不自由(不快)を得る
問題解決力の乏しい者ほど自己防衛の為に礼儀作法マナーを要求
情報分析力の低い者ほどデマ宗教フェイク疑似科学に感化洗脳
自己肯定感の欠けた者ほど「己の知見こそ全で真」に自己陶酔
人生経験の少ない者ほど嫌いキモイ怖いウザイ憎い想定外を体験
キリスト教は世界最大のカルト。聖書は史上最も売れているト本
全ては必然。偶然 奇跡 理不尽 不条理は思考停止 視野狭窄の産物
人生存在現象に元々意味価値理由目的義務使命はない
宗教民族領土貧困は争いの「原因」ではなく「口実動機言訳」
虐め差別犯罪テロ紛争は根絶可能。必要なのは適切十分な高度教育
体罰は指導力問題解決力の乏しい教育素人の独善甘え怠慢責任転嫁
死刑は民度の低い排他的集団リンチ殺人。「死ねば償える」は偽善
核武装論は人間不信と劣等感に苛まれた臆病な外交素人の精神安定剤
投票率低下は社会成熟の徴候。奇人変人の当選は議員数過多の証左
感情自己責任論 〜学校では教えない合理主義哲学〜 m9`・ω・)
言葉風紀世相の乱れはそう感じる人の心の乱れの自己投影。人は鏡
憤怒は一時の狂気、無知無能の自己証明。中途半端な知識主ほど激昂
「真実は一つ」は錯誤。執着する者ほど矛盾を体験(争い煩悩)
他人に不自由(制約)を与えれば己も不自由(不快)を得る
問題解決力の乏しい者ほど自己防衛の為に礼儀作法マナーを要求
情報分析力の低い者ほどデマ宗教フェイク疑似科学に感化洗脳
自己肯定感の欠けた者ほど「己の知見こそ全で真」に自己陶酔
人生経験の少ない者ほど嫌いキモイ怖いウザイ憎い想定外を体験
キリスト教は世界最大のカルト。聖書は史上最も売れているト本
全ては必然。偶然 奇跡 理不尽 不条理は思考停止 視野狭窄の産物
人生存在現象に元々意味価値理由目的義務使命はない
宗教民族領土貧困は争いの「原因」ではなく「口実動機言訳」
虐め差別犯罪テロ紛争は根絶可能。必要なのは適切十分な高度教育
体罰は指導力問題解決力の乏しい教育素人の独善甘え怠慢責任転嫁
死刑は民度の低い排他的集団リンチ殺人。「死ねば償える」は偽善
核武装論は人間不信と劣等感に苛まれた臆病な外交素人の精神安定剤
投票率低下は社会成熟の徴候。奇人変人の当選は議員数過多の証左
感情自己責任論 〜学校では教えない合理主義哲学〜 m9`・ω・)
2018/04/30(月) 17:47:37.77ID:???
レベル低い人ばっかりですね。
面倒くさいのでレベル低いだけで私のコード理解できないとかいう人はレスしないでもらえますか?
面倒くさいのでレベル低いだけで私のコード理解できないとかいう人はレスしないでもらえますか?
2018/04/30(月) 18:20:09.86ID:???
コテ付けて貰えば最初から近付かないよ
2018/04/30(月) 19:08:04.78ID:???
2018/04/30(月) 19:21:10.31ID:???
>>260
自称高レベルの君が書いたコードはどれなの?
自称高レベルの君が書いたコードはどれなの?
2018/04/30(月) 19:37:40.07ID:???
>>261
バカなのですか?
あなた達が低レベルが理解できないとかいってるコードがそれですよ
聞かないとわからないほど低レベルなんですか?
私は誰でも名前をしってる会社で働いてるんです。
あなた達とはレベルガチがすぎる。
まさか5chがここまでレベル低いとは思わなかったのですが
もうこんなとこ来ません。
バカなのですか?
あなた達が低レベルが理解できないとかいってるコードがそれですよ
聞かないとわからないほど低レベルなんですか?
私は誰でも名前をしってる会社で働いてるんです。
あなた達とはレベルガチがすぎる。
まさか5chがここまでレベル低いとは思わなかったのですが
もうこんなとこ来ません。
2018/04/30(月) 19:48:06.51ID:???
モウコネーヨ懐かしい
2018/04/30(月) 19:52:39.35ID:???
有難い
2018/04/30(月) 19:59:30.21ID:???
ウワァァン
2018/05/01(火) 09:27:21.96ID:???
初めてのandroidアプリ開発でSPA使っちゃった(cordova)けどまずかった?
267Name_Not_Found
2018/05/01(火) 18:20:10.76ID:l1wYHpV1 誰でもできる在宅ワーク儲かる方法
少しでも多くの方の役に立ちたいです
グーグルで検索するといいかも『金持ちになりたい 鎌野介メソッド』
IZRJV
少しでも多くの方の役に立ちたいです
グーグルで検索するといいかも『金持ちになりたい 鎌野介メソッド』
IZRJV
2018/05/01(火) 20:41:26.09ID:???
>>249
そんなこと気にしだしたらidがオーバーフローしてないかとか
万が一doubleの整数部分超える実装になってたらどうするのかとか
ほんとキリがないゾ
余計な懸念は捨てて少なくともここに提示するコードは最小限のものにしようヤ
パッチは実際テストで問題出てからでいいじゃん
今や6ヶ月毎にブラウザは更新されるんだから同じバグがいつまでもあるものではないシ
反対に新しいバグがその時に出てきてるかもしれないんだからサ
そんなこと気にしだしたらidがオーバーフローしてないかとか
万が一doubleの整数部分超える実装になってたらどうするのかとか
ほんとキリがないゾ
余計な懸念は捨てて少なくともここに提示するコードは最小限のものにしようヤ
パッチは実際テストで問題出てからでいいじゃん
今や6ヶ月毎にブラウザは更新されるんだから同じバグがいつまでもあるものではないシ
反対に新しいバグがその時に出てきてるかもしれないんだからサ
2018/05/01(火) 20:42:37.27ID:???
❌6ヶ月
↓
🔴6ヶ週
↓
🔴6ヶ週
2018/05/01(火) 21:31:49.76ID:???
2018/05/02(水) 06:34:20.39ID:???
そんなことはない
Google検索とかもSPAのうち
Google検索とかもSPAのうち
2018/05/02(水) 10:46:33.03ID:???
2018/05/02(水) 12:11:38.84ID:???
おまえだけ
2018/05/02(水) 13:55:52.37ID:???
ありがとうございました
2018/05/02(水) 13:58:47.38ID:???
class構文において
staticなメソッドはstaticキーワードをメソッド名に置くことで実現できますが
staticなプロパティはどうやって実現するのでしょうか?
staticなメソッドはstaticキーワードをメソッド名に置くことで実現できますが
staticなプロパティはどうやって実現するのでしょうか?
2018/05/02(水) 13:59:25.54ID:???
×メソッド名に
○メソッド名の前に
でした
○メソッド名の前に
でした
2018/05/02(水) 16:45:45.01ID:???
クラス名.プロパティ名
2018/05/02(水) 17:42:21.32ID:???
lodashのuniqueIdって、PHPのuniqidみたいな、
まずバッティングしないIDを生成するものかと思っていたのですが
ただ連番を返すだけのもののようです・・
PHPのuniqidみたいなIDが欲しい時にはどうやるのでしょうか?
まずバッティングしないIDを生成するものかと思っていたのですが
ただ連番を返すだけのもののようです・・
PHPのuniqidみたいなIDが欲しい時にはどうやるのでしょうか?
2018/05/02(水) 20:10:58.91ID:???
2018/05/02(水) 22:23:57.87ID:???
class Hoge {
}
Hoge.initialize();
みたいにクラス定義のすぐ下に書くことにしました
これもイケてないですが、イケてるやり方なんてなさそうなので・・
}
Hoge.initialize();
みたいにクラス定義のすぐ下に書くことにしました
これもイケてないですが、イケてるやり方なんてなさそうなので・・
2018/05/03(木) 16:42:00.63ID:???
殆どの場合 static get method ( ) { } で済むでしょ
それかES2019まで待つか
それかES2019まで待つか
2018/05/03(木) 17:12:10.95ID:???
get set追加したんならoperatorも追加してほしい。
以上、混沌を望むものより。
以上、混沌を望むものより。
2018/05/03(木) 17:13:49.42ID:???
hoge.js
(function(){/* hogehoge */})();
fuga.js
(function(){/* fugafuga */})();
みたいに分けてグローバル汚染を回避しつつモジュールみたいにして管理したいんですけど
export/importみたいなのっていつ頃標準化?されるんでしょうか
(function(){/* hogehoge */})();
fuga.js
(function(){/* fugafuga */})();
みたいに分けてグローバル汚染を回避しつつモジュールみたいにして管理したいんですけど
export/importみたいなのっていつ頃標準化?されるんでしょうか
2018/05/03(木) 17:36:57.46ID:???
2018/05/03(木) 17:37:05.55ID:???
2018/05/03(木) 17:46:16.04ID:???
>>282
提案はずっと前から色々あるぞ
まずbigintが追加されたでしょ、その後はnumberの拡張が来る
n = 1px + 2em
みたいに書けるようになるってこと
だけどそれ以上はまだ目処がついてないかな
でもそのクラスのインスタンスがvalue proxy的なものになるんだと考えると
混沌ではなくむしろ比較的自然でシンプルだし、そういう流れで行くかもね
提案はずっと前から色々あるぞ
まずbigintが追加されたでしょ、その後はnumberの拡張が来る
n = 1px + 2em
みたいに書けるようになるってこと
だけどそれ以上はまだ目処がついてないかな
でもそのクラスのインスタンスがvalue proxy的なものになるんだと考えると
混沌ではなくむしろ比較的自然でシンプルだし、そういう流れで行くかもね
2018/05/03(木) 18:01:57.47ID:???
2018/05/03(木) 20:51:06.15ID:???
export default class {
constructor(x,y){
this.x=x;
this.y=y;
}
sum(){
return this.x+this.y;
}
}
こういう宣言をしていて、classのブロックの中ではなく
別のところにsum関数を(ES6で)書き加えたい時ってどうすればよいのでしょうか
constructor(x,y){
this.x=x;
this.y=y;
}
sum(){
return this.x+this.y;
}
}
こういう宣言をしていて、classのブロックの中ではなく
別のところにsum関数を(ES6で)書き加えたい時ってどうすればよいのでしょうか
2018/05/03(木) 20:52:25.15ID:???
補足
>別のところ
export default class{
constructor(){}
}
sum(){}
みたいな感じです
>別のところ
export default class{
constructor(){}
}
sum(){}
みたいな感じです
2018/05/03(木) 21:04:14.07ID:???
別のところ、ってどこで誰が使う想定なのか
2018/05/03(木) 21:14:47.36ID:???
const Hoge = function(){}
Hoge.prototype.sum = function(){}
みたいに、単にこういう風に書けるのだろうか
と思っただけです >>290
書けなくても特に問題ないです
Hoge.prototype.sum = function(){}
みたいに、単にこういう風に書けるのだろうか
と思っただけです >>290
書けなくても特に問題ないです
2018/05/03(木) 22:18:11.57ID:???
classは単なる糖衣構文だし
default exportに名前をつけちゃいけない決まりはないから
export default class Hoge{
constructor(){}
}
Hoge.prototype.sum = function(){}
みたいのは可能なんじゃないの(ごめん試してないです)
default exportに名前をつけちゃいけない決まりはないから
export default class Hoge{
constructor(){}
}
Hoge.prototype.sum = function(){}
みたいのは可能なんじゃないの(ごめん試してないです)
2018/05/03(木) 22:59:33.23ID:???
>>292
最初はdefaultもなしでexport class Hogeで、prototypeで追加してたのですが
なんとなくES6で書き加えたい(統一したい)なと思ったのです
あとは、import先で汚染した(や被り気味の命名など)と気づいたとき
export先と行ったり来たりするのがめんどうかなと思い
あえてdefaultのままにしました
最初はdefaultもなしでexport class Hogeで、prototypeで追加してたのですが
なんとなくES6で書き加えたい(統一したい)なと思ったのです
あとは、import先で汚染した(や被り気味の命名など)と気づいたとき
export先と行ったり来たりするのがめんどうかなと思い
あえてdefaultのままにしました
2018/05/04(金) 00:54:10.65ID:???
結局staticってどういうこと?
2018/05/04(金) 04:16:05.09ID:???
なぜprototypeに書き加える必要があるのか
というか書き加えたメソッドはHomeObjectが設定されないし
最初から存在するメソッドと等価にはならないからね
というか書き加えたメソッドはHomeObjectが設定されないし
最初から存在するメソッドと等価にはならないからね
2018/05/04(金) 11:45:24.52ID:???
2018/05/04(金) 15:17:45.94ID:???
2018/05/04(金) 16:17:13.67ID:???
JSBinの読み方はジェイエスビンでいいのでしょうか?
2018/05/04(金) 18:48:52.82ID:???
2018/05/04(金) 23:07:45.97ID:???
指定の値を指定数並べた配列を作るには
ループでpushしたり
lengthを伸ばしてからfillしたりするしかないのでしょうか?
ループでpushしたり
lengthを伸ばしてからfillしたりするしかないのでしょうか?
2018/05/04(金) 23:21:13.30ID:???
javascriptで今流行りの機械学習勉強したいのですがだめですか?
本が全然みつからない。
もう年だしプログラマーでもないので他の言語やりたくない。
本が全然みつからない。
もう年だしプログラマーでもないので他の言語やりたくない。
2018/05/04(金) 23:29:33.17ID:???
ガッツリやりたいならCPUでは限界があるから
どちらにせよWebGLを使うことになるからそれは他言語で書いてるようなもの
まあTensorFlow.jsくらいからやるといいんじゃない
どちらにせよWebGLを使うことになるからそれは他言語で書いてるようなもの
まあTensorFlow.jsくらいからやるといいんじゃない
2018/05/04(金) 23:31:14.64ID:???
2018/05/04(金) 23:41:16.30ID:???
2018/05/04(金) 23:46:54.39ID:???
一定の規則に沿った数列をいくつか作りたいなら
ベースとなる配列作っといてそれをmap()で回すとか?
ベースとなる配列作っといてそれをmap()で回すとか?
2018/05/05(土) 01:38:02.67ID:???
2018/05/05(土) 09:52:31.36ID:???
初めてのJavaScript 第3版 ―ES2015以降の最新ウェブ開発
https://www.amazon.co.jp/dp/toc/4873117836/ref=dp_toc?_encoding=UTF8&n=465392
徹底マスター JavaScriptの教科書 プログラミングの教養から、言語仕様、開発技法までが正しく身につく (Informatics&IDEA)
https://www.amazon.co.jp/dp/toc/4797388641/ref=dp_toc?_encoding=UTF8&n=465392
上の2つならどっちがおすすめ?
一通りの知識はあるけどもうちょっと知識深めたいってレベルです。
https://www.amazon.co.jp/dp/toc/4873117836/ref=dp_toc?_encoding=UTF8&n=465392
徹底マスター JavaScriptの教科書 プログラミングの教養から、言語仕様、開発技法までが正しく身につく (Informatics&IDEA)
https://www.amazon.co.jp/dp/toc/4797388641/ref=dp_toc?_encoding=UTF8&n=465392
上の2つならどっちがおすすめ?
一通りの知識はあるけどもうちょっと知識深めたいってレベルです。
2018/05/05(土) 10:22:50.38ID:???
>>306
ありがとうございます
たしかに配列を作成するのはそれが一番シンプルですね
実際の問題はすでにある配列に同一の要素を任意数追加するというもので
fillやpushを使う以外にもっとシンプルな方法があるんじゃないかと思ったのですが、なさそうですね
ありがとうごさいました
ありがとうございます
たしかに配列を作成するのはそれが一番シンプルですね
実際の問題はすでにある配列に同一の要素を任意数追加するというもので
fillやpushを使う以外にもっとシンプルな方法があるんじゃないかと思ったのですが、なさそうですね
ありがとうごさいました
2018/05/05(土) 13:13:34.14ID:???
配列のlengthを拡張してあってパターンを含ませてるならcopyWithinで1発
2018/05/05(土) 13:31:53.16ID:???
>>307
それくらいならMDN眺めたり実装追ってるブログ見りゃいいと思うよ
それくらいならMDN眺めたり実装追ってるブログ見りゃいいと思うよ
2018/05/05(土) 13:48:06.19ID:???
2018/05/05(土) 14:26:31.11ID:???
>>たしかに配列を作成するのはそれが一番シンプルですね
>>実際の問題はすでにある配列に同一の要素を任意数追加するというもので
>>実際の問題はすでにある配列に同一の要素を任意数追加するというもので
2018/05/05(土) 14:47:32.83ID:???
あー破壊変更が要件なのか
2018/05/05(土) 15:44:58.29ID:???
それならpushでいいじゃん。ループは要らないぞ。
何で嫌がるのかサッパリだらっしゃい…
すでにある配列をaに、3を45個追加するには、
a.push(...Array(45).fill(3))
だがこういうことではなくて?
何で嫌がるのかサッパリだらっしゃい…
すでにある配列をaに、3を45個追加するには、
a.push(...Array(45).fill(3))
だがこういうことではなくて?
2018/05/05(土) 16:54:36.80ID:???
>>fillやpushを使う以外にもっとシンプルな方法があるんじゃないかと思ったのですが、なさそうですね
2018/05/05(土) 16:59:08.38ID:???
use strict宣言してた場合、;セミコロンも書かないのが普通?
つまり、好みの問題じゃなく全部改行使って書いたほうがいい?(結局圧縮するだろうし)
つまり、好みの問題じゃなく全部改行使って書いたほうがいい?(結局圧縮するだろうし)
2018/05/05(土) 19:00:38.55ID:???
use strictはセミコロンの挙動を変えはしないぞ
つまるところ好みの問題だぞ
〜の方が良い?的な質問はしないほうが良いぞ
つまるところ好みの問題だぞ
〜の方が良い?的な質問はしないほうが良いぞ
2018/05/05(土) 19:44:45.70ID:???
2018/05/05(土) 22:54:57.27ID:???
2018/05/05(土) 23:11:58.39ID:???
だからstaticな変数ってなんなの?
誰か教えてよ
誰か教えてよ
2018/05/05(土) 23:32:43.43ID:???
Int8Array.BYTES_PER_ELEMENT
的なクラスに直接生えてるプロパティのことだろ
ES2019くらいで
class {
static p = hoge
}
と書けるようになるとは思うが、
それまでは代わりに
class {
static get p() { return hoge }
}
とするのが定石だな
prototype下のプロパティでも同じだ
的なクラスに直接生えてるプロパティのことだろ
ES2019くらいで
class {
static p = hoge
}
と書けるようになるとは思うが、
それまでは代わりに
class {
static get p() { return hoge }
}
とするのが定石だな
prototype下のプロパティでも同じだ
2018/05/05(土) 23:36:13.47ID:???
>>317
あ、そういう意味ではなくて今後セミコロンが廃止になりますか?
みたいなニュアンスだったのです
調べてみるとuse strictに限らずセミコロンありなし混合はjavascriptのそういうスタイルだったみたいですね
ありがとうございました
あ、そういう意味ではなくて今後セミコロンが廃止になりますか?
みたいなニュアンスだったのです
調べてみるとuse strictに限らずセミコロンありなし混合はjavascriptのそういうスタイルだったみたいですね
ありがとうございました
2018/05/05(土) 23:38:49.21ID:???
super()って便利なのにネーミングがダサくない?
2018/05/06(日) 00:27:00.89ID:???
>>320
参照透過性のある書き換え不能の変数じゃないのか?
参照透過性のある書き換え不能の変数じゃないのか?
2018/05/06(日) 01:10:59.37ID:???
>>322
そりゃ100年後は分からんが、現時点で非推奨になる理由がないだろう
ある面ではスペースみたいな存在なのだから
ほとんどの普通の言語およびコミュニティに於いてそれが無駄だとしても
言語仕様として過剰なスペースを禁止しようということにはならないだろう
そりゃ100年後は分からんが、現時点で非推奨になる理由がないだろう
ある面ではスペースみたいな存在なのだから
ほとんどの普通の言語およびコミュニティに於いてそれが無駄だとしても
言語仕様として過剰なスペースを禁止しようということにはならないだろう
2018/05/06(日) 11:40:55.77ID:???
例えばデジタル時計を表示するアプリをつくったときに
setIntervalで1秒毎に更新するようにして
スリープ状態になってスリープ解除すると
遅れた時間が表示されます。
@これはどうしてなのでしょうか?
スリープになると、タイマーが止まって処理が実行されずにキューが溜まっていって、
解除されるとタイマーが止まった時点から再開して
溜まったキューが最初の分からひとずつ実行されるのかなとおもってるのですが
この考えは完全に正解でしょうか?1つでもおかしなとこあったら教えて下さい
Aどう解消すればいいのでしょうか?
setIntervalで1秒毎に更新するようにして
スリープ状態になってスリープ解除すると
遅れた時間が表示されます。
@これはどうしてなのでしょうか?
スリープになると、タイマーが止まって処理が実行されずにキューが溜まっていって、
解除されるとタイマーが止まった時点から再開して
溜まったキューが最初の分からひとずつ実行されるのかなとおもってるのですが
この考えは完全に正解でしょうか?1つでもおかしなとこあったら教えて下さい
Aどう解消すればいいのでしょうか?
2018/05/06(日) 13:01:45.01ID:???
@代わりにsetTimeoutで実装することを考えたら分かりやすいだろう
実行されたら次のキューを登録する
したがって実行が遅延するとキューが溜まっていくことはない
Aそもそも精度は保証されて無く、色々なことで遅れるので、
JSに限らずだがタイマーで時を進めて行ってはいけない
更新の度に現在時刻を取得すること
もしストップウォッチ的なものなら開始時刻を取っておいて、毎回比較して差分を出す
そしてオマケで更新はrequestAnimationFrameを使うと良い
実行されたら次のキューを登録する
したがって実行が遅延するとキューが溜まっていくことはない
Aそもそも精度は保証されて無く、色々なことで遅れるので、
JSに限らずだがタイマーで時を進めて行ってはいけない
更新の度に現在時刻を取得すること
もしストップウォッチ的なものなら開始時刻を取っておいて、毎回比較して差分を出す
そしてオマケで更新はrequestAnimationFrameを使うと良い
2018/05/07(月) 01:56:12.73ID:???
2018/05/07(月) 01:59:23.73ID:???
そのレベルならやめといた方がいい。
pythonでやりな。
あっちはあっちで大変だと思うが。
pythonでやりな。
あっちはあっちで大変だと思うが。
2018/05/07(月) 07:02:16.48ID:???
基本的に既にできてるモデルをWebで動かす用であって
学習もできなくはないけどAPIもぜんぜん違うよ
学習もできなくはないけどAPIもぜんぜん違うよ
2018/05/07(月) 14:39:20.03ID:???
2018/05/07(月) 15:46:50.00ID:???
普通static変数=静的な変数っていったら、呼び出すごとに初期化されず状態が保持される変数のことでいい
言語によって扱いは全然異なる
javascriptではクロージャに閉じ込めればもちろんできるし
そもそもjavascriptにあんまし馴染まない概念といえなくもない
こんなとこで合ってる?(質問)
言語によって扱いは全然異なる
javascriptではクロージャに閉じ込めればもちろんできるし
そもそもjavascriptにあんまし馴染まない概念といえなくもない
こんなとこで合ってる?(質問)
2018/05/07(月) 20:21:58.21ID:???
いや、そういう関数の機能としてのstatic変数が存在する言語は少ないので
普通staticな変数と言ったらクラスの何らかを想定するだろう、JSでも
普通staticな変数と言ったらクラスの何らかを想定するだろう、JSでも
2018/05/07(月) 20:48:57.29ID:???
classでも基本同じでは
インスタンスごとに独立固有でなくインスタンス間で共有され、
インスタンス生成ごとに初期化されるのではなく、一度だけ初期化される、要するに状態が保持される
静的変数が関係する場合、常に同じ入力に対し同じ結果が返されるとは限らない
なので静的変数の性質として「参照透過性があること」を持ってくるのは間違い
書き換え不能かどうかも静的変数の概念には直接関係しない
インスタンスごとに独立固有でなくインスタンス間で共有され、
インスタンス生成ごとに初期化されるのではなく、一度だけ初期化される、要するに状態が保持される
静的変数が関係する場合、常に同じ入力に対し同じ結果が返されるとは限らない
なので静的変数の性質として「参照透過性があること」を持ってくるのは間違い
書き換え不能かどうかも静的変数の概念には直接関係しない
2018/05/08(火) 06:29:45.79ID:???
それを言うとJSの場合はstaticな変数なんて存在しないけどな
staticとして宣言されたものはクラスオブジェクトのプロパティになるだけだから
staticとして宣言されたものはクラスオブジェクトのプロパティになるだけだから
2018/05/08(火) 07:31:14.27ID:???
Node.ELEMENT_NODE は静的変数なんじゃない?
2018/05/08(火) 08:35:27.58ID:???
それは定数ですね
2018/05/08(火) 09:10:45.85ID:???
クラスベースオブジェクト思考に毒されたやつは話を聞かない
唯一絶対の真理と思ってやがる
jsにclass構文なんか導入したせいで拍車がかかった
ちなみに拍車とはカウボーイのブーツのかかとについてるトゲトゲの車輪な
唯一絶対の真理と思ってやがる
jsにclass構文なんか導入したせいで拍車がかかった
ちなみに拍車とはカウボーイのブーツのかかとについてるトゲトゲの車輪な
2018/05/08(火) 09:57:30.62ID:???
「ある要素を、それ以外の要素がクリックされたら閉じる」
のような処理はどう実装するのがベストなのでしょうか?
モーダルウインドウでは半透明の黒幕を表示してそこでイベントを受けるというやり方を見ますが
他のコントロールへのイベントは生かしたままにしたいです
要素にtabindexを付けてフォーカスを持たせて、focusoutを検出したらいいのでは?
と思ってやってみたのですが、ブラウザ以外のアプリにタスク切り替えしても反応してしまいました
あとはdocumentに一時的なclickイベントリスナを付けるくらいしかなさそうですが
これだと他のイベントリスナでstopPropagationされたら反応しなくなると思います
つまり、考えついたどの方法にも何かしら問題があるのです・・
問題のない方法はないでしょうか?
のような処理はどう実装するのがベストなのでしょうか?
モーダルウインドウでは半透明の黒幕を表示してそこでイベントを受けるというやり方を見ますが
他のコントロールへのイベントは生かしたままにしたいです
要素にtabindexを付けてフォーカスを持たせて、focusoutを検出したらいいのでは?
と思ってやってみたのですが、ブラウザ以外のアプリにタスク切り替えしても反応してしまいました
あとはdocumentに一時的なclickイベントリスナを付けるくらいしかなさそうですが
これだと他のイベントリスナでstopPropagationされたら反応しなくなると思います
つまり、考えついたどの方法にも何かしら問題があるのです・・
問題のない方法はないでしょうか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 上野動物園の双子パンダ、1月末に中国に返還へ 国内でパンダ不在に [蚤の市★]
- 中国軍機のレーダー照射1週間 駆け引き続く 中国、米のレッドライン模索 日本、米以外の同志国とも連携探る 米は対立から距離置く★3 [ぐれ★]
- フジ、元日夜に『なるほど!ザ・ワールド』6年ぶり復活 MCは有吉弘行&指原莉乃「衝撃的」「ビックリ」予告 [征夷大将軍★]
- ゼレンスキー氏、NATO加盟断念に言及 ドイツで米代表団と [蚤の市★]
- 「婚活中の男女の8割以上が婚活疲れ」続ければ続けるほど蟻地獄にハマる必然とは? ★2 [ぐれ★]
- 【音楽】カイリー・ミノーグ 最新シングル「XMAS」のミュージックビデオ公開 [湛然★]
- パナソニック、ほぼ全て20%値上げ… ありがとう高市早苗 働いて働いて働いてまいります [667744927]
- 高市早苗、病気か?ろれつ回らず上手く喋れずwwwwww [153490809]
- 土曜か日曜の朝にやってる番組「ローカル番組に中山秀征が飛び入りで参加します!」←これ
- 🏡すこふさん、とうだ…w🏡
- (´;ω;`)まぜのっけごはんが食べたいのにすき家がない!!!
- (´・ω・`)あのね、松屋さんにいってね、朝定食特盛りを食べたあとね、吉野家さんでね、朝定食食べるの
