現役システムエンジニアの備忘録

技術スキルや用語などの記録を残していきます

Timer(時間制御)

【JavaScript入門】setTimeoutとclearTimeoutの使い方|指定時間後に処理を実行するタイマーの基本

投稿日:2019年7月2日 更新日:

この記事で分かること

  • setTimeoutの基本的な仕組み
  • clearTimeoutでタイマーを解除する方法
  • タイマーIDの役割と使い方
  • ボタンで開始・停止する実用サンプル
  • 遅延処理を扱う際の注意点

JavaScriptの setTimeout() は、指定した時間が経過した後に1回だけ処理を実行するためのメソッドです。
また、clearTimeout() を使うことで、設定したタイマーを解除できます。

時間はミリ秒(1秒=1000ミリ秒)で指定し、遅延処理や通知など幅広い用途で使われます。



setTimeout とは?

setTimeout() は、指定した時間が経過した後に関数を1回だけ実行するメソッドです。
繰り返し処理ではなく、単発の遅延処理に向いています。

基本構文


timerId = setTimeout(実行する関数, 指定時間ミリ秒);

使用例:3秒後に関数を実行


timer1 = setTimeout(() => {
    msg();
}, 3000);

→ 3秒後に msg() が1回だけ実行されます。



clearTimeout とは?

clearTimeout() は、setTimeout() で設定したタイマーを解除するメソッドです。
解除するには、setTimeout の戻り値であるタイマーIDを保存しておく必要があります。

使用例:設定したタイマーを解除


clearTimeout(timer1);

timer1 に設定されたタイマーが実行されなくなります。

実例:ボタンでタイマー開始・停止


let timer;

function startTimer() {
    timer = setTimeout(() => {
        alert("3秒経過しました");
    }, 3000);
}

function stopTimer() {
    clearTimeout(timer);
    alert("タイマーを解除しました");
}

HTML側


<button onclick="startTimer()">タイマー開始</button>
<button onclick="stopTimer()">タイマー停止</button>

→ ボタン操作でタイマーの開始・停止が直感的に理解できます。

setTimeout を使うときのポイント

  • setTimeout は指定時間後に1回だけ実行される
  • 繰り返し処理したい場合は setInterval を使用する
  • clearTimeout でタイマーを解除できる
  • タイマーIDを保存しておくことが重要

JavaScript 初心者におすすめの学習書籍

書籍で学ぶのが向いている人

  • 紙の本で体系的に学びたい
  • ネット記事だけだと情報が断片的に感じる
  • 基本文法を順序立てて理解したい

setTimeout は「遅延処理」という JavaScript の基礎的かつ重要な概念です。
書籍では、関数・イベント・非同期処理などの前提知識を体系的に学べるため、理解が深まりやすくなります。

いちばんやさしい JavaScript の教本

写真や図が多く、手を動かしながら学べる初心者向けの入門書です。
setTimeout を使うために必要な「関数」「イベント」「処理の流れ」を丁寧に解説しています。

この本で解決できること:

  • setTimeout の前提となる基礎文法を理解できる
  • イベントと遅延処理の組み合わせが分かる
  • 実際に動くサンプルで学べるため挫折しにくい

確かな力が身につく JavaScript「超」入門

setTimeout の仕組みをより深く理解したい方に向いている入門書です。
非同期処理やイベントループなど、遅延処理の背景にある考え方も丁寧に学べます。

この本で解決できること:

  • setTimeout の動作原理を体系的に理解できる
  • 実務で使えるレベルのコードが書けるようになる
  • 現代的な JavaScript の書き方が身につく

動画で理解を深めたい方へ(Udemy講座)

setTimeout は「指定時間後に処理を実行する」という動きを理解することが重要です。
動画で実際の動きを見ながら学ぶことで、遅延処理の仕組みが直感的に理解できます。

初心者のためのJavaScript 完全入門

関数・イベント・非同期処理など、setTimeout を使ううえで必要な基礎を体系的に学べる人気講座です。

この講座で解決できること:

  • setTimeout の動きを視覚的に理解できる
  • イベントと組み合わせた実践的なコードが学べる
  • 初心者がつまずきやすいポイントを丁寧に解説

初心者のためのJavaScript 完全入門(Udemy)

超JavaScript 完全ガイド 2026

setTimeout を使った遅延処理やアニメーションなど、より実践的な内容を深く学びたい方に最適です。

この講座で解決できること:

  • 遅延処理の応用的な使い方を理解できる
  • 実務レベルのコード設計が身につく
  • 現代的な JavaScript の書き方をまとめて習得

超JavaScript 完全ガイド 2026(Udemy)

体系的に学びたい方へ(スクールという選択肢)

独学の限界を感じやすいポイント

  • setTimeout の仕組みが理解しづらい
  • 非同期処理やイベントの関係で混乱しやすい
  • コードレビューを受ける機会がない
  • 学習の順番に自信が持てない

スクールでは、プロの講師が学習ロードマップを作成し、遅延処理のようなつまずきやすい部分も丁寧にサポートしてくれます。

無料相談で得られるメリット

  • あなたのレベルに合わせた学習計画を作成
  • 非同期処理の理解を深めるアドバイスがもらえる
  • 効率的な学習方法をプロが提案
  • エンジニア転職を視野に入れたキャリア相談も可能

JavaScript を効率よく学びたい方には、未経験からエンジニアを目指せる
DMM WEBCAMP の学習コースも選択肢のひとつです。

DMM WEBCAMP 学習コース(無料相談はこちら)



setTimeout に関するよくある質問(FAQ)

Q1

setTimeout は正確な時間で動作しますか?

A

処理が重いと遅れることがあります。正確なタイミングが必要な場合は再帰setTimeoutが向いています。

Q2

setTimeout を途中でキャンセルできますか?

A

はい。タイマーIDを clearTimeout に渡すことでキャンセルできます。

Q3

setTimeoutsetInterval の違いは何ですか?

A

setTimeout は1回だけ実行、setInterval は指定時間ごとに繰り返し実行されます。

Q4

遅延処理はどんな場面で使われますか?

A

ポップアップ表示、ロード演出、通知、ボタン連打防止など多くの場面で使われます。



まとめ

  • setTimeout は指定時間後に1回だけ処理を実行する
  • clearTimeout でタイマーを解除できる
  • タイマーIDを保存しておくことが重要
  • 遅延処理はUI演出や通知など幅広く活用できる



関連記事

【JavaScript入門】デバウンスとスロットルの基本|タイマーを使った入力制御をわかりやすく解説

2026/04/17   -Timer(時間制御)

この記事で分かること デバウンスとスロットルの違い setTimeout・setIntervalを使った実装方法 入力フォームやスクロールイベントでの活用例 処理の無駄を減らすための考え方 初心者でも …

【JavaScript入門】setIntervalとclearIntervalの使い方|一定間隔で処理を繰り返すタイマーの基本

2019/07/03   -Timer(時間制御)

この記事で分かること setInterval の基本的な仕組み clearInterval でタイマーを停止する方法 タイマーIDの役割と使い方 カウントアップの実用サンプル 繰り返し処理を扱う際の注 …

【JavaScript入門】タイマーIDの仕組みと管理方法|複数タイマーを扱う基本をわかりやすく解説

2026/04/25   -Timer(時間制御)

この記事で分かること タイマーIDとは何か(setTimeout / setInterval の戻り値) タイマーIDを使ってタイマーを停止する方法 複数タイマーを管理する方法(配列・オブジェクト) …

【JavaScript入門】非同期処理とタイマーの仕組み|イベントループをやさしく理解しよう

2026/04/18   -Timer(時間制御)

この記事で分かること JavaScriptがシングルスレッドで動く仕組み 非同期処理とタイマーの関係 イベントループの基本的な流れ setTimeout(0) が遅れる理由 タイマーが正確に動かない原 …

【JavaScript入門】タイマーのズレ問題とは?setIntervalが遅れる理由と正確なタイマーの作り方

2026/04/15   -Timer(時間制御)

この記事で分かること JavaScriptのタイマーがズレる理由 setInterval で遅延が起きる仕組み 正確なタイマーを作る方法(再帰setTimeout) 実際のコード例でズレを確認する ズ …

このブログは Xserver 上の WordPress で運用しています。
表示速度が速く、安定しているのでブログ初心者にもおすすめです。

レンタルサーバー エックスサーバー

-Timer(時間制御)

執筆者: