ふと、どうでもヨイ疑問が湧いた。
for(let t=1000; t<=3000; t+=1000){
setTimeout(function() {
console.log(t/1000)}, t)
}
と、
for(let n=1; n<=3; n+=1){
setTimeout(function() {
console.log(n)}, 1000*n)
}
どっちも問題はないけど・・・
どっちが見やすい?。
誤差とかわかり易さとかの観点で
てか、どっち に しようかな。
てか、どっち の 仕様がいいのかな。
てか、どっち を 使用しようかな
JavaScript の質問用スレッド vol.126
284やっぱ過疎化防止で、また来ちゃった (ワッチョイ deaf-opVO [2400:2200:438:4658:*])
2025/01/27(月) 06:54:39.55ID:/Hv0VvQW0285デフォルトの名無しさん (ワッチョイ de4b-OnvR [183.176.68.229 [上級国民]])
2025/01/27(月) 20:38:29.10ID:DmLoR8Bu0 >>284
ChatGPTに聞いてみたけど、全部は掲載できないので結論だけ転載
1. 「時間」を基準にして明示的に処理を進めたいなら t
2. 「ループ回数」を基準にするのが直感的なら n
個人的にはtの方が汎用性が高く、特に時間管理が重要なケースでは使いやすいと思います。
ChatGPTに聞いてみたけど、全部は掲載できないので結論だけ転載
1. 「時間」を基準にして明示的に処理を進めたいなら t
2. 「ループ回数」を基準にするのが直感的なら n
個人的にはtの方が汎用性が高く、特に時間管理が重要なケースでは使いやすいと思います。
286デフォルトの名無しさん (ワッチョイ de4b-OnvR [183.176.68.229 [上級国民]])
2025/01/27(月) 20:44:15.26ID:DmLoR8Bu0 1. 可読性
tを使ったコードでは、時間そのもの(1000, 2000, 3000)が直接書かれており、「時間に基づいた処理」という意図が明確。
一方、nを使ったコードでは、「ループの回数を基準に処理」していることが読み取れる。
一般的には、「時間を意識した処理」ならt、「回数を意識した処理」ならnを使ったほうが直感的です。
tを使ったコードでは、時間そのもの(1000, 2000, 3000)が直接書かれており、「時間に基づいた処理」という意図が明確。
一方、nを使ったコードでは、「ループの回数を基準に処理」していることが読み取れる。
一般的には、「時間を意識した処理」ならt、「回数を意識した処理」ならnを使ったほうが直感的です。
287デフォルトの名無しさん (ワッチョイ de4b-OnvR [183.176.68.229 [上級国民]])
2025/01/27(月) 20:44:38.45ID:DmLoR8Bu0 2. 精度と誤差
setTimeoutは指定した時間で必ず正確に実行されるわけではなく、若干の誤差が発生します。どちらもこの点においては同じですが、**tの方が「時間の計算結果が直接書かれているため誤差の発生ポイントが少ない」**という印象を受けます。
例えば:
1000 * n // 計算で導出
1000, 2000, 3000 // そのまま指定
上記の違いから、誤差を気にするならtの方が直接的で分かりやすいです。
setTimeoutは指定した時間で必ず正確に実行されるわけではなく、若干の誤差が発生します。どちらもこの点においては同じですが、**tの方が「時間の計算結果が直接書かれているため誤差の発生ポイントが少ない」**という印象を受けます。
例えば:
1000 * n // 計算で導出
1000, 2000, 3000 // そのまま指定
上記の違いから、誤差を気にするならtの方が直接的で分かりやすいです。
288デフォルトの名無しさん (ワッチョイ de4b-OnvR [183.176.68.229 [上級国民]])
2025/01/27(月) 20:46:35.01ID:DmLoR8Bu0 3. メンテナンス性
tのコード
時間間隔を変更したい場合、初期値・上限値・増加値だけを変更すればよく、スケール感の変更がしやすい。
nのコード
「1000を掛ける」という計算式が直接書かれているため、変更時に計算式部分にも目を配る必要がある。
tのコード
時間間隔を変更したい場合、初期値・上限値・増加値だけを変更すればよく、スケール感の変更がしやすい。
nのコード
「1000を掛ける」という計算式が直接書かれているため、変更時に計算式部分にも目を配る必要がある。
289デフォルトの名無しさん (ワッチョイ 96c0-zcB2 [2001:240:2472:fef0:*])
2025/01/27(月) 21:16:45.23ID:T51mrGlF0 一般常識があるやつならtを使うメリットなんて一つも無いと分かるはずなんだがChatGPTはいまだにこんな意味のない回答するんだな
俺の使ってるChatGPTと同じとは思えない
俺の使ってるChatGPTと同じとは思えない
290デフォルトの名無しさん (ワッチョイ 1200-wGFo [221.118.182.158])
2025/01/27(月) 21:44:29.89ID:mnVLXxyY0 ChatGPT君はわりと利用者に忖度した回答するので、利用者次第で馬鹿にもなる
291デフォルトの名無しさん (ワッチョイ de4b-OnvR [183.176.68.229 [上級国民]])
2025/01/27(月) 21:56:48.37ID:DmLoR8Bu0 いや、質問をそのままGPTにペーストしたよ
利用者の意見なんて1つも入れてない
利用者の意見なんて1つも入れてない
292デフォルトの名無しさん (ワッチョイ 1200-wGFo [221.118.182.158])
2025/01/27(月) 22:13:58.10ID:mnVLXxyY0 質問の仕方に利用者の知識量とか思考が入り込んで、ChatGPTはそれに応じた回答をする。回答のレベルは質問のレベルに合致する
293デフォルトの名無しさん (ワッチョイ de4b-OnvR [119.150.245.179 [上級国民]])
2025/01/28(火) 03:33:19.87ID:7uzvZSX70 それはそうだけど、正確性からそんなに大きく逸脱はしてないでしょう
というか、客観的に大多数に正しいと思われる解決法を提示してくれるから助かる
無料のは今だに嘘が混じってる事が多いんだけど、有料のPlusは結構正確になった
参照してる知識量が無料のものの何倍もあるみたい
というか、客観的に大多数に正しいと思われる解決法を提示してくれるから助かる
無料のは今だに嘘が混じってる事が多いんだけど、有料のPlusは結構正確になった
参照してる知識量が無料のものの何倍もあるみたい
294デフォルトの名無しさん (アウアウウー Sa79-mO6r [106.130.52.8])
2025/02/06(木) 13:59:21.74ID:FTswYlc4a 外国のサイトにある動画から字幕を抜き出したくて色々試したけど上手く行かなかった(www.francetvinfo.frというとこ)
でもffmpegだとあっさり成功した
もしJavaScriptに詳しければffmpegというツールに頼らず抜き出せたのだろうか?
chatGPTに聞くとDOMで作成してるみたいな答えが帰ってきたので字幕作成はJavaScriptで行っているのかなと思った
今字幕抜き出せた喜びとツールに頼った悔しさが入り混じってるけど皆なら自力で抜き出せた?
でもffmpegだとあっさり成功した
もしJavaScriptに詳しければffmpegというツールに頼らず抜き出せたのだろうか?
chatGPTに聞くとDOMで作成してるみたいな答えが帰ってきたので字幕作成はJavaScriptで行っているのかなと思った
今字幕抜き出せた喜びとツールに頼った悔しさが入り混じってるけど皆なら自力で抜き出せた?
295デフォルトの名無しさん (JP 0H96-qIVI [133.106.33.6])
2025/02/13(木) 12:33:25.69ID:DZyx9aKAH 失礼します。
insertBeforeでHTML要素にnodeを追加する際、複数ある要素(class)の1番最後にのみnodeを挿入したいのですが、可能でしょうか?
<div class="unko"></div> //1
<div class="unko"></div> //2
<div class="unko"></div> //3
<div class="unko"></div> //4
<div class="unko"></div> //~以下ランダムで増減
このように、ユーザーが投稿するコメントのようなランダムで増減するclass要素があり、その繰り返しの1番最後にnodeを挿入したいのですが、
hoge[0].parentNode.insertBefore(elmDiv, hoge[0].nextSibling)
これを改良して
hoge[※最後の要素].parentNode.insertBefore(elmDiv, hoge[※最後の要素].nextSibling)
とするにはどうすればいいでしょうか?
そもそも不可能である場合、不可能であると断言して頂けると幸いです。
insertBeforeでHTML要素にnodeを追加する際、複数ある要素(class)の1番最後にのみnodeを挿入したいのですが、可能でしょうか?
<div class="unko"></div> //1
<div class="unko"></div> //2
<div class="unko"></div> //3
<div class="unko"></div> //4
<div class="unko"></div> //~以下ランダムで増減
このように、ユーザーが投稿するコメントのようなランダムで増減するclass要素があり、その繰り返しの1番最後にnodeを挿入したいのですが、
hoge[0].parentNode.insertBefore(elmDiv, hoge[0].nextSibling)
これを改良して
hoge[※最後の要素].parentNode.insertBefore(elmDiv, hoge[※最後の要素].nextSibling)
とするにはどうすればいいでしょうか?
そもそも不可能である場合、不可能であると断言して頂けると幸いです。
296デフォルトの名無しさん (ワッチョイ 9eba-k2ZP [2001:240:241a:56bf:*])
2025/02/13(木) 13:01:37.54ID:xGLXSNfR0 :last-of-typeとか:last-childとかで出来るけどそういうの知らなくても”配列の長さ-1”くらいは思いつこうよ
297295 (ワッチョイ b149-GKZ3 [180.221.149.54])
2025/02/13(木) 13:14:34.23ID:8KNio/Em0 > 296
つまりあまたはわたしをアホとおっしゃるのですか?
つまりあまたはわたしをアホとおっしゃるのですか?
298295 (ワッチョイ b149-GKZ3 [180.221.149.54])
2025/02/13(木) 13:15:37.17ID:8KNio/Em0 💩
299デフォルトの名無しさん (ワッチョイ 5e0b-XAIF [153.164.41.34])
2025/02/13(木) 13:39:50.07ID:tamKTj1t0 >>295
hoge[hoge.length-1].insertAdjacentElement("afterend", elemDiv);
hoge[hoge.length-1].insertAdjacentElement("afterend", elemDiv);
300デフォルトの名無しさん (ワッチョイ 7d7c-F9OP [122.212.18.110])
2025/04/05(土) 12:51:42.18ID:7VBJ2biq0 関数定義するとき、
function funcName() { ~}
と
const funcName = () => { ~ }
で、関数内でthisの参照先を気にしないとすると、どっちの書き方のほうがいい、とかありますか?
なんとなくconst~で書いてたときがあるんですが、VSCodeでアウトライン表示したときに、functionで定義するとメソッドのアイコンになるけど、constで書くと変数扱いになるで他の変数と(ツリー上)区別が付きにくくなり、functionの書き方に戻しました。
function funcName() { ~}
と
const funcName = () => { ~ }
で、関数内でthisの参照先を気にしないとすると、どっちの書き方のほうがいい、とかありますか?
なんとなくconst~で書いてたときがあるんですが、VSCodeでアウトライン表示したときに、functionで定義するとメソッドのアイコンになるけど、constで書くと変数扱いになるで他の変数と(ツリー上)区別が付きにくくなり、functionの書き方に戻しました。
301デフォルトの名無しさん (ワッチョイ 058f-iziL [2001:ce8:137:595f:*])
2025/04/05(土) 21:28:14.07ID:sUMv9Ks50 >>300
巻き上げがあるから関数宣言はやめた方がいい
巻き上げがあるから関数宣言はやめた方がいい
302デフォルトの名無しさん (ワッチョイ 0507-pzHV [2001:240:2463:dde5:*])
2025/04/05(土) 21:48:41.97ID:lcZxDDXa0 巻き上げがあったら困る場合だけ関数式
関数宣言のほうが
- 巻き上げがあるからトップダウンで書ける
- 名前付きの関数なのでdebugabilityが高い
ので迷ったらまずはこっち
関数宣言のほうが
- 巻き上げがあるからトップダウンで書ける
- 名前付きの関数なのでdebugabilityが高い
ので迷ったらまずはこっち
303デフォルトの名無しさん (ワッチョイ 372f-pQOn [60.236.132.37])
2025/05/08(木) 23:46:11.91ID:fGnrU9Lw0 constに入れておかないと、チーターに簡単に上書き改竄されたりすんのか
304デフォルトの名無しさん (ワッチョイ ef4b-3gjP [119.150.14.214 [上級国民]])
2025/05/11(日) 01:02:25.07ID:N+caZpkb0 水前寺清子?
305デフォルトの名無しさん (ワッチョイ cfcf-+6HO [153.205.197.132])
2025/05/11(日) 17:20:56.05ID:NQ286Pqc0 バイナリをいじる場合はconstとか関係ない。
306デフォルトの名無しさん (ワッチョイ 9722-2R+f [180.24.66.223 [上級国民]])
2025/05/30(金) 22:49:08.32ID:1o7EfCHn0 愚痴ですが…
当方プログラミングはC言語やVBA、ほんの少しPythonを触ったことがあるぐらいのド素人です
今はサポートされてない昔の測定機器のSDKですが、dllファイルがVBAからライブラリとして読めない現象が発生
原因分からず、VBA詳しい友人にdllファイルをアンコンパイルして解析してもらうとC++で書かれているためそもそもVBAで読めないと言われました
ChatGPTにも相談すると中間Wrapper作りますよ!と言われ、紆余曲折有りながら出来上がったものをVBAで読み込んでも動作せず
諦めてダメ元で公式のサポートを頼るも、日本国内の代理店からは対応できないと断られ、やむを得ず国際電話で計測器メーカー直轄の韓国の拠点へ電話
後日メール返すとのこと
疲れた
当方プログラミングはC言語やVBA、ほんの少しPythonを触ったことがあるぐらいのド素人です
今はサポートされてない昔の測定機器のSDKですが、dllファイルがVBAからライブラリとして読めない現象が発生
原因分からず、VBA詳しい友人にdllファイルをアンコンパイルして解析してもらうとC++で書かれているためそもそもVBAで読めないと言われました
ChatGPTにも相談すると中間Wrapper作りますよ!と言われ、紆余曲折有りながら出来上がったものをVBAで読み込んでも動作せず
諦めてダメ元で公式のサポートを頼るも、日本国内の代理店からは対応できないと断られ、やむを得ず国際電話で計測器メーカー直轄の韓国の拠点へ電話
後日メール返すとのこと
疲れた
307デフォルトの名無しさん (ワッチョイ 9722-2R+f [180.24.66.223 [上級国民]])
2025/05/30(金) 22:50:16.72ID:1o7EfCHn0 ちなみに今回の対応も韓国への国際電話も自腹です(^q^)
何やってるんだろうな俺
何やってるんだろうな俺
308デフォルトの名無しさん (ワッチョイ e3b4-nntB [2400:4151:a4a0:6500:*])
2025/10/11(土) 20:33:48.15ID:n5gETjNc0 video_elm.addEventListener(
"ended",
function(){
alert("全て見た");
}
);
動画を再生しきると「全て見た」と出るけど
video_elm.currentTime = 0;で再生位置を最初に戻してまた再生しても
「全て見た」と出ませんでした。
このイベントは1回限りなんですか?
"ended",
function(){
alert("全て見た");
}
);
動画を再生しきると「全て見た」と出るけど
video_elm.currentTime = 0;で再生位置を最初に戻してまた再生しても
「全て見た」と出ませんでした。
このイベントは1回限りなんですか?
レスを投稿する
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★4 [BFU★]
- 小野田氏、”中国経済への依存“に警戒感 高市首相の国会答弁巡り [煮卵★]
- 【こんなの初めて…】民泊には既にキャンセルも 中国の渡航自粛で [ぐれ★]
- 日本が「世界で最も魅力的な国」1位に!✨「魅力的な都市」では東京が2位 「魅力的な地域」は北海道が7位に [煮卵★]
- 台湾声明 「台湾は独立した主権国家、中国は台湾を統治したことがなく、中国は口出しする権利ない」 中国が高市首相に抗議で ★7 [お断り★]
- 【サッカー】独占入手 最年長JリーガーにW不倫疑惑 『お風呂覗きたいんですが笑』LINE流出も… 慰謝料トラブルを本人に直撃 [冬月記者★]
- 東浩紀「日本はいままさに駆け引きをしている。」高市有事にピシャリ [834922174]
- 日経平均、49000円割れ 国賊高市を許すな [402859164]
- 【悲報】麻生太郎、石破憎しで高市を擁立し晩節を汚す [884040186]
- 【高市速報】日本「中国さんお願い首脳会談させて!ねえってば!😭」 [931948549]
- とうすこ🏡愛され絵文字♡🤥👊😅👊👶♡
- 中国とのパイプ役がいない高市政権、実施詰みか [668970678]
