この記事で分かること
setTimeoutとsetIntervalの基本的な違い- それぞれのメソッドが向いている用途
- 1回だけ実行・繰り返し実行の仕組み
- 実際のコード例で動作を理解する
- 初心者が迷いやすいポイントと注意点
JavaScriptには、時間を使って処理を実行するためのタイマー機能が用意されています。
その代表が setTimeout と setInterval の2つです。
どちらも「時間を指定して処理を実行する」という点は同じですが、
1回だけ実行するのか、繰り返し実行するのか という大きな違いがあります。
この記事では、初心者でも迷わないように、2つの違いと使い分けを丁寧に解説します。
setTimeout|指定時間後に1回だけ実行するタイマー
setTimeout() は、指定した時間が経過した後に1回だけ処理を実行するメソッドです。
setTimeout(() => {
console.log("3秒後に1回だけ実行されます");
}, 3000);
- 1回だけ実行される
- 遅延処理(一定時間後に実行したいとき)に向いている
- 戻り値はタイマーID(停止に使う)
使用例:3秒後にアラートを表示
timer = setTimeout(() => alert("3秒経過!"), 3000);
setInterval|指定時間ごとに繰り返し実行するタイマー
setInterval() は、指定した間隔で繰り返し処理を実行するメソッドです。
setInterval(() => {
console.log("1秒ごとに繰り返し実行されます");
}, 1000);
- 指定した間隔で繰り返し実行
- カウントダウンや定期チェックに向いている
- 停止しない限り永続的に動作する
使用例:1秒ごとにカウントアップ
let count = 0;
timer = setInterval(() => {
count++;
console.log(count);
}, 1000);
setTimeout と setInterval の違いを比較
| 項目 | setTimeout |
setInterval |
|---|---|---|
| 実行回数 | 1回だけ | 繰り返し |
| 用途 | 遅延処理・一度だけの実行 | 定期処理・カウント・監視 |
| 停止方法 | clearTimeout() |
clearInterval() |
実例:ボタンでタイマーを開始・停止する
let timer;
// setTimeout の例
function startTimeout() {
timer = setTimeout(() => alert("3秒後に実行"), 3000);
}
function stopTimeout() {
clearTimeout(timer);
}
// setInterval の例
let count = 0;
function startInterval() {
timer = setInterval(() => {
count++;
console.log(count);
}, 1000);
}
function stopInterval() {
clearInterval(timer);
}
HTML側
<button onclick="startTimeout()">setTimeout開始</button>
<button onclick="stopTimeout()">setTimeout停止</button>
<button onclick="startInterval()">setInterval開始</button>
<button onclick="stopInterval()">setInterval停止</button>
JavaScript 初心者におすすめの学習書籍
書籍で学ぶのが向いている人
- 紙の本で体系的に学びたい
- ネット記事だけだと情報が断片的に感じる
- 基本文法を順序立てて理解したい
setTimeout と setInterval の違いは、JavaScript の非同期処理の理解が深まるほど分かりやすくなります。
書籍では、これらの基礎を体系的に学べるため、混乱しやすいポイントが整理されます。
いちばんやさしい JavaScript の教本
写真や図が多く、手を動かしながら学べる初心者向けの入門書です。
setTimeout と setInterval の違いを理解するために必要な「関数」「イベント」「処理の流れ」が丁寧に解説されています。
この本で解決できること:
- タイマー処理の前提となる基礎文法を理解できる
- イベントと時間制御の関係が分かる
- 実際に動くサンプルで理解が深まる
確かな力が身につく JavaScript「超」入門
setTimeout と setInterval の違いをより深く理解したい方に向いている入門書です。
非同期処理・イベントループなど、タイマーの背景にある仕組みも体系的に学べます。
この本で解決できること:
- タイマー処理の動作原理を体系的に理解できる
- 実務で使えるレベルのコードが書けるようになる
- 現代的な JavaScript の書き方が身につく
動画で理解を深めたい方へ(Udemy講座)
setTimeout と setInterval の違いは、実際の動きを動画で見ると理解が一気に深まります。
「なぜズレるのか」「どう使い分けるのか」を視覚的に学べるのが動画学習の強みです。
初心者のためのJavaScript 完全入門
関数・イベント・非同期処理など、タイマーの理解に必要な基礎を体系的に学べる人気講座です。
この講座で解決できること:
setTimeoutとsetIntervalの動きを視覚的に理解できる- 使い分けの基準が明確になる
- 初心者がつまずきやすいポイントを丁寧に解説
→ 初心者のためのJavaScript 完全入門(Udemy)
超JavaScript 完全ガイド 2026
タイマー処理の応用や、非同期処理の深い理解を目指す方に最適な講座です。
setTimeout と setInterval の違いを実務レベルで使いこなせるようになります。
この講座で解決できること:
- タイマー処理の応用的な使い方を理解できる
- イベントループの仕組みを深く理解できる
- 現代的な JavaScript の書き方をまとめて習得
体系的に学びたい方へ(スクールという選択肢)
独学の限界を感じやすいポイント
setTimeoutとsetIntervalの使い分けで混乱しやすい- 非同期処理の仕組みが理解しづらい
- コードレビューを受ける機会がない
- 学習の順番に自信が持てない
スクールでは、プロの講師が学習ロードマップを作成し、タイマー処理のようなつまずきやすい部分も丁寧にサポートしてくれます。
無料相談で得られるメリット
- あなたのレベルに合わせた学習計画を作成
- 非同期処理の理解を深めるアドバイスがもらえる
- 効率的な学習方法をプロが提案
- エンジニア転職を視野に入れたキャリア相談も可能
JavaScript を効率よく学びたい方には、未経験からエンジニアを目指せる
DMM WEBCAMP の学習コースも選択肢のひとつです。
setTimeoutとsetInterval に関するよくある質問(FAQ)
setTimeoutとsetIntervalの一番大きな違いは何ですか?
setTimeout は1回だけ実行、setInterval は指定時間ごとに繰り返し実行される点が最大の違いです。
setInterval は正確な間隔で動作しますか?
処理が重いと遅延が発生することがあります。正確なタイマーが必要な場合は setTimeout の再帰が向いています。
setTimeout で繰り返し処理はできますか?
はい。setTimeout を再帰的に呼び出すことで繰り返し処理が可能です。
どちらを使うべきか迷ったときの判断基準はありますか?
1回だけ実行したい場合は setTimeout、定期的に繰り返したい場合は setInterval を選ぶと分かりやすいです。
まとめ
setTimeoutは「指定時間後に1回だけ」実行setIntervalは「指定時間ごとに繰り返し」実行- 用途に応じて使い分けることが大切
- 正確なタイマーが必要な場合は
setTimeoutの再帰が有効