[フレーム]
はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

気に入った記事をブックマーク

  • 気に入った記事を保存できます
    保存した記事の一覧は、はてなブックマークで確認・編集ができます
  • 記事を読んだ感想やメモを書き残せます
  • 非公開でブックマークすることもできます
適切な情報に変更

エントリーの編集

loading...

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。

タイトルガイドライン

このページのオーナーなので以下のアクションを実行できます

タイトル、本文などの情報を
再取得することができます
コメントを非表示にできます コメント表示の設定

ブックマークしました

ここにツイート内容が記載されます https://b.hatena.ne.jp/URLはspanで囲んでください

Twitterで共有

ONにすると、次回以降このダイアログを飛ばしてTwitterに遷移します

355users がブックマーク コメント 19

ガイドラインをご確認の上、良識あるコメントにご協力ください

0 / 0
入力したタグを追加

現在プライベートモードです 設定を変更する

おすすめタグタグについて

よく使うタグ

setTimeout を完璧に理解する

355 users nmi.jp

ガイドラインをご確認の上、良識あるコメントにご協力ください

0 / 0
入力したタグを追加

現在プライベートモードです 設定を変更する

おすすめタグタグについて

よく使うタグ

はてなブックマーク

はてなブックマークで
関心をシェアしよう

みんなの興味と感想が集まることで
新しい発見や、深堀りがもっと楽しく

ユーザー登録

アカウントをお持ちの方はログインページ

記事へのコメント19

  • 注目コメント
  • 新着コメント
kabochatori
知らんかった...。"大抵のブラウザでは timeoutId は連番なので、 for(let i = 1; i < 65536; i++) { clearTimeout(i); } とかやることでページの全部の setTimeout の発火を止めることが出来ます。"

その他
ockeghem
ガハハ>『信じられないかもしれませんが、今から 20 年前は、setTimeout のコールバックを文字列で指定するのが一般的でした』 コールバックを文字列で指定すると脆弱性の原因になることは徳丸本2版に書いてあります

その他
mizdra
よかった / ふと調べてみたら、Chrome 108 からは今の5回目から大幅に増やして16回目から setTimeout ネスト時のスロットリングが発生するようにするっぽい: https://chromestatus.com/feature/5710690097561600

その他
UDONCHAN
いろいろとハマりどころはあるんだけれども、JSで一番肝要なのは"正確なタイミング計測は諦めるのが一番良い選択肢"

その他
azukiazusa
へえ "なお whatwg の仕様上、timeoutId は setTimeout と setInterval の間で差がないので、setTimeout で返ってきた timeoutId を clearInterval に渡すことで発火を止めることが出来ますし、その逆も可能です。Node.js でも同様の挙動です。"

その他
dorapon2000
"個人的な意見ですが、setInterval を使いたくなることはまずありません。setInterval は発火を止めるために id を保持してそれを後に clearInterval に渡してやる必要がありますが、"

その他
efcl
Taskに追加するsetTimeout/setInterva/setImmidiate/postMessage。 MicroTaskに追加するPromise/queueMicrotask/nextTick。 setTimeoutのネストにはスロットリングが実装依存でかかることについて。

その他
diveintounlimit
面白い話だけど3日後には忘れちゃってそう

その他
mizdra
mizdra よかった / ふと調べてみたら、Chrome 108 からは今の5回目から大幅に増やして16回目から setTimeout ネスト時のスロットリングが発生するようにするっぽい: https://chromestatus.com/feature/5710690097561600

2022年11月22日 リンク

その他
field_combat
id連番だったんだ

その他
razokulover
へぇー "「ECMAScript に入っていないけれど、ほぼ標準になっている便利な API」の標準化作業が WinterCG によって進められています。"

その他
gfx
スロットリングの詳細(仕様・実装)とか全然知らなかった。昔UIイベントのスロットリングをsetTimeoutで実装したことがあったけど、実は想定通りに動いてなかったかもしれない🤔

その他
xlc
今回は「setTimeoutは時代遅れ」的なマヌケコメントがなくて何より。

その他
sukkuuuuu
"し"

その他
ryunosinfx
うほ!うほほ!うほ!うほ!うほほーい!(ドコドコドコドコ!)なおGASがサポートして無くて切れた。

その他
mayumayu_nimolove
最初の一行だけ理解してれば事足りる

その他
azukiazusa
azukiazusa へえ "なお whatwg の仕様上、timeoutId は setTimeout と setInterval の間で差がないので、setTimeout で返ってきた timeoutId を clearInterval に渡すことで発火を止めることが出来ますし、その逆も可能です。Node.js でも同様の挙動です。"

2022年11月21日 リンク

その他
UDONCHAN
UDONCHAN いろいろとハマりどころはあるんだけれども、JSで一番肝要なのは"正確なタイミング計測は諦めるのが一番良い選択肢"

2022年11月21日 リンク

その他
kabochatori
kabochatori 知らんかった...。"大抵のブラウザでは timeoutId は連番なので、 for(let i = 1; i < 65536; i++) { clearTimeout(i); } とかやることでページの全部の setTimeout の発火を止めることが出来ます。"

2022年11月21日 リンク

その他
Shinwiki
完璧に理解し、すぐに忘れる

その他
roshi
Promise.all内でKeyboardEventのエンターキー操作が効かなかった時setTimeout(0)に逃がして切り抜けたなー。

その他
yarumato
"setIntervalとsetTimeoutの使い分け。setIntervalを使いたくなることはまずありません。では繰り返し処理をどう書くかというと、私は以下"

その他
kako-jun
シングルスレッドな言語で、1周後のイベントループまで実行を遅らす効果があるって雑な理解で、0を引数にしてReactのコンポーネント内でも使っちゃってる。どう直せば等価になるのか知りたい......

その他
ockeghem
ockeghem ガハハ>『信じられないかもしれませんが、今から 20 年前は、setTimeout のコールバックを文字列で指定するのが一般的でした』 コールバックを文字列で指定すると脆弱性の原因になることは徳丸本2版に書いてあります

2022年11月21日 リンク

その他

注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

リンクを埋め込む

以下のコードをコピーしてサイトに埋め込むことができます

プレビュー
アプリのスクリーンショット
いまの話題をアプリでチェック!
  • バナー広告なし
  • ミュート機能あり
  • ダークモード搭載
アプリをダウンロード

関連記事

usersに達しました!

さんが1番目にブックマークした記事「setTimeout を完璧...」が注目されています。

気持ちをシェアしよう

ツイートする

setTimeout を完璧に理解する

setTimeout は、指定された時間以降に指定されたコードを実行する JavaScriptAPI です。ブラウザで... setTimeout は、指定された時間以降に指定されたコードを実行する JavaScriptAPI です。ブラウザでも Node.js でも広く使われているのですが、実装はまちまちで、色々と特殊な条件も多く、挙動を完璧に理解している人は少ないと思います。この記事では、そんな setTimeout を可能な限り深堀りしてみようと思います。 先に書いておきますが、ものすごくニッチで細かい話ばかり並びます。突然私が、ただ純粋に setTimeout について調べたくなったので、その結果をまとめただけのものです。普通に開発している人には必要のない情報が多くなるでしょう。この記事は基礎から setTimeout を学ぼう、という方には全然向かないと思います。 また、JavaScript のイベントループについてある程度理解していることを前提とします。その詳しい理解には、@PADAone さん

ブックマークしたユーザー

  • dorapon20002025年10月08日 dorapon2000
  • monyurin2023年10月08日 monyurin
  • chuwb2023年10月08日 chuwb
  • sudo_vi2023年10月08日 sudo_vi
  • efcl2023年10月08日 efcl
  • s_hiiragi2023年01月20日 s_hiiragi
  • kikuchi-hiroyuki2023年01月11日 kikuchi-hiroyuki
  • esuji52022年12月27日 esuji5
  • nagao198X2022年12月18日 nagao198X
  • o_hiroyuki2022年11月23日 o_hiroyuki
  • zu22022年11月23日 zu2
  • diveintounlimit2022年11月23日 diveintounlimit
  • radiocat2022年11月23日 radiocat
  • questbeat2022年11月23日 questbeat
  • oooooooo2022年11月22日 oooooooo
  • ci7lus2022年11月22日 ci7lus
  • tg30yen2022年11月22日 tg30yen
  • tttttahiti2022年11月22日 tttttahiti
すべてのユーザーの
詳細を表示します

ブックマークしたすべてのユーザー

同じサイトの新着

同じサイトの新着をもっと読む

いま人気の記事

いま人気の記事をもっと読む

いま人気の記事 - テクノロジー

いま人気の記事 - テクノロジーをもっと読む

新着記事 - テクノロジー

新着記事 - テクノロジーをもっと読む

同時期にブックマークされた記事

いま人気の記事 - 企業メディア

企業メディアをもっと読む

はてなブックマーク

公式Twitter

はてなのサービス

Copyright © 2005-2025 Hatena. All Rights Reserved.
設定を変更しましたx

AltStyle によって変換されたページ (->オリジナル) /