home
twitter
ページトップへ
目次
  • 「setTimeout()」とは?
  • 簡単な使用例!
  • 関数を別で定義して使う
  • 引数を渡す方法
  • 「setTimeout()」のキャンセル方法
  • 参考リンク!
  • おすすめの再生リスト!
  • まとめ!
about
categories
page
archive
皇帝ペンギンブログ

2024/12/05 (更新日:2024/12/11)

【JavaScript】「setTimeout()」と「clearTimeout()」の使い方!【分かりやすい】

Categories > JavaScriptの入門編
こんばんは!初めましての方は初めまして!
しゅーた(@chibasyuta)です!

今回はJavaScriptの基本的な組み込み関数の「setTimeout()」と「clearTimeout()」について解説します。

時間を指定してコードを遅延実行したいときに使える便利な関数です。

初心者の方でも理解しやすいように、例を交えながら説明していきます!

この記事の内容!

  • 「setTimeout()」で関数を遅延実行する方法
  • 「clearTimeout()」でタイマーをキャンセルする方法
また、下の動画でも「setTimeout()」と「clearTimeout()」の使い方について詳しく解説しているので、一緒に実際にコードを書きながら学びたい方はこちらをどうぞ!

それでは内容へ入ります!

目次
非表示
  • 「setTimeout()」とは?
  • 簡単な使用例!
  • 関数を別で定義して使う
  • 引数を渡す方法
  • 「setTimeout()」のキャンセル方法
  • 参考リンク!
  • おすすめの再生リスト!
  • まとめ!

「setTimeout()」とは?

setTimeout()は、指定した時間(ミリ秒単位)が経過した後に、特定の関数を一度だけ実行する関数です。
setTimeout(関数, 遅延時間);
パラメータ

関数: 実行したいコードまたは関数を指定します。

遅延時間: 実行までの遅延時間(ミリ秒単位)を指定します。1秒 = 1000ミリ秒です。

簡単な使用例!

setTimeout(() => {
    console.log("2秒が経過しました!");
}, 2000);

例えば、上記は2秒後にメッセージを表示するコードになります。

このコードを実行すると、2秒後にコンソールに「2秒が経過しました!」と表示されます。

第二引数の単位は「ミリ秒」なので注意しましょう!

関数を別で定義して使う

function showMessage() {
    console.log("3秒後にこのメッセージが表示されます!");
}

setTimeout(showMessage, 3000);

このようにすると、コードが読みやすくなり、再利用もしやすくなります。

引数を渡す方法

function greet(name) {
    console.log(`こんにちは、${name}さん!`);
}

// 2秒後に関数を実行し、"太郎"を渡す
setTimeout(greet, 2000, "太郎");

「setTimeout()」のキャンセル方法

const timerId = setTimeout(() => {
    console.log("このメッセージは表示されません!");
}, 5000);

// タイマーをキャンセル
clearTimeout(timerId);

setTimeout()で設定したタイマーをキャンセルするには、clearTimeout()を使用します。

「setTimeout()」の「返り値」は「timeoutID」と呼ばれます。この「timeoutID」を「clearTimeout()」の引数に与えてあげれば、その「timeoutID」に紐づく「setTimeout()」の処理がキャンセルされます。

このように「timeoutID」はキャンセルする「setTimeout()」の識別のために使われるのです。

clearTimeout(timeoutID)を呼び出すと、タイマーが無効化され、関数は実行されません。

参考リンク!

仕様書。
https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout-dev

https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-cleartimeout-dev

MDN。
https://developer.mozilla.org/ja/docs/Web/API/Window/setTimeout

https://developer.mozilla.org/ja/docs/Web/API/Window/clearTimeout

おすすめの再生リスト!

こちらは僕が制作したYouTubeの再生リスト「JavaScriptの入門編」です。

「JavaScriptの入門編」はWeb制作を勉強している方がJavaScriptに入門する際に知っておきたい情報をまとめたコンテンツとなります。

こちらの再生リストで「JavaScript」について「丁寧」に解説しているので、もし気になる方はチェックしてみてください!一緒に楽しく学習しましょう!!

まとめ!

setTimeout()は、シンプルながら非常に強力な関数です。以下のポイントを押さえておきましょう。

  • 指定した遅延時間の後に一度だけ関数を実行。
  • 遅延時間はミリ秒単位。
  • clearTimeout()でタイマーをキャンセル可能。

イベント処理やアニメーションの制御など、さまざまな場面で役立つので、ぜひ覚えて活用してみてください!

また、下の動画でも「setTimeout()」と「clearTimeout()」の使い方について詳しく解説しているので、一緒に実際にコードを書きながら学びたい方はこちらをどうぞ!

それではまたっ!

自分のロゴ!

皇帝ペンギン

全力で、書きます。
少しでもお役に立てたら幸いです。
楽しんで読んで下さい 。-_- 。
よろしくお願いします!

x(旧twitter) youtube
Categories
  • トップへ
  • ITパスポート (1)
  • programming (168)
    • CSSのアニメーション編 (26)
    • CSSのグリッドレイアウト編 (1)
    • CSSのセレクター編 (58)
    • CSSのフレックスボックス編 (1)
    • CSSのメディアクエリー編 (7)
    • CSSの基本編 (34)
    • HTMLのformタグ編 (1)
    • HTMLの基本編 (3)
    • JavaScriptの入門編 (30)
    • JavaScriptの基本編 (5)
    • Web制作をする環境を整えよう! (1)
  • Uncategorized (23)
  • VScode (1)
  • おすすめ商品! (1)
  • クラロワ (2)
  • マーケティング (17)
  • 大学生活 (7)
  • 心理学 (9)
  • 映画 (1)
  • 法学 (4)
  • 経済学 (4)
  • 読書 (7)
Pages
  • プライバシーポリシー
  • 免責事項
  • プロフィール
Archive
  • 2025年3月 (1)
  • 2025年1月 (9)
  • 2024年12月 (13)
  • 2024年11月 (5)
  • 2024年10月 (10)
  • 2024年9月 (15)
  • 2024年8月 (5)
  • 2024年7月 (6)
  • 2024年6月 (5)
  • 2024年5月 (10)
  • 2024年4月 (24)
  • 2024年3月 (11)
  • 2024年2月 (6)
  • 2024年1月 (10)
  • 2023年12月 (4)
  • 2023年11月 (3)
  • 2023年10月 (2)
  • 2023年9月 (3)
  • 2023年8月 (6)
  • 2023年7月 (3)
  • 2023年6月 (8)
  • 2023年5月 (2)
  • 2023年3月 (1)
  • 2023年2月 (1)
  • 2022年10月 (2)
  • 2022年9月 (2)
  • 2022年8月 (8)
  • 2022年7月 (2)
  • 2022年6月 (6)
  • 2022年5月 (9)
  • 2022年4月 (2)
  • 2022年2月 (4)
  • 2021年12月 (1)
  • 2021年11月 (4)
  • 2021年10月 (8)
  • 2021年9月 (14)
  • 2021年8月 (6)
  • 2021年6月 (1)
  • 2021年5月 (2)
  • 2021年4月 (1)
  • 2021年3月 (1)
  • 2021年2月 (2)
  • 2020年10月 (1)
  • 2020年7月 (1)
  • 2020年4月 (1)
  • 2020年1月 (1)
  • 2019年12月 (2)
© Copyright Syuta Chiba, 2019 All Rights Reserved.