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

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

Timer(時間制御)

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

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

この記事で分かること

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

JavaScriptの setInterval() は、指定した時間ごとに繰り返し処理を実行するためのメソッドです。
また、clearInterval() を使うことで、設定したタイマーを停止できます。

時間はミリ秒(1秒=1000ミリ秒)で指定し、停止しない限り永続的に処理が続きます。



setInterval とは?

setInterval() は、指定した間隔で関数を繰り返し実行するメソッドです。
繰り返し処理を行いたいときに便利で、アニメーションや定期チェックなどに使われます。

基本構文


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

使用例:0.5秒ごとに関数を実行


timer2 = setInterval(() => {
    msg();
}, 500);

→ 0.5秒(500ミリ秒)ごとに msg() が繰り返し実行されます。



clearInterval とは?

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

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


clearInterval(timer2);

timer2 に設定された繰り返し処理が停止します。

実例:カウントアップタイマー


let count = 0;
let timer;

function startCount() {
    timer = setInterval(() => {
        count++;
        document.getElementById('num').textContent = count;
    }, 1000);
}

function stopCount() {
    clearInterval(timer);
}

HTML側


<div>カウント:<span id="num">0</span></div>
<button onclick="startCount()">開始</button>
<button onclick="stopCount()">停止</button>

→ 1秒ごとにカウントが増え、停止ボタンで止められます。

setInterval を使うときのポイント

  • setInterval は指定時間ごとに繰り返し実行される
  • 停止しない限り永続的に動作する
  • clearInterval でタイマーを解除できる
  • タイマーIDを変数に保存しておく必要がある

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

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

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

setIntervalclearInterval は「時間制御」という少し応用的なテーマですが、書籍ではこれらを基礎文法から順序立てて理解できるため、つまずきにくくなります。

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

写真や図が多く、手を動かしながら学べる初心者向けの入門書です。
タイマー処理の前提となる関数・イベント・変数の基礎をしっかり理解できます。

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

  • 関数やイベントの基礎を視覚的に理解できる
  • setInterval を使う前に必要な基礎が身につく
  • 実際に動くサンプルで学べるため挫折しにくい

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

JavaScriptの基礎を体系的に学びたい方に向いている入門書です。
setInterval の仕組みを理解するために必要な「非同期処理」や「イベント」の考え方も丁寧に解説されています。

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

  • タイマー処理の背景にある仕組みを理解できる
  • 実務で使えるレベルのコードが書けるようになる
  • 現代的な JavaScript の書き方が身につく

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

setInterval は「一定間隔で処理を繰り返す」という動きを理解することが大切です。
動画で実際の動きを見ながら学ぶと、タイマーの仕組みが直感的に理解できます。

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

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

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

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

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

超JavaScript 完全ガイド 2026

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

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

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

超JavaScript 完全ガイド 2026(Udemy)

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

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

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

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

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

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

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

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



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

Q1

setInterval は正確な間隔で動作しますか?

A

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

Q2

開始ボタンを連打すると動作が速くなるのはなぜ?

A

setInterval が複数回動いているためです。開始前に clearInterval でリセットすると防げます。

Q3

setInterval を途中で一時停止できますか?

A

はい。タイマーIDを使って clearInterval を呼び出すことで停止できます。

Q4

setIntervalsetTimeout の違いは何ですか?

A

setInterval は繰り返し実行、setTimeout は1回だけ実行される点が大きな違いです。



まとめ

  • setInterval は指定時間ごとに繰り返し処理を実行する
  • clearInterval でタイマーを停止できる
  • タイマーIDを保存しておくことが重要
  • 繰り返し処理はアニメーションや定期チェックに便利



関連記事

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

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

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

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

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

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

【JavaScript入門】setTimeoutの実用例まとめ|遅延処理・通知・演出を初心者向けに解説

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

この記事で分かること setTimeout の基本的な使い方 遅延処理の実用的な活用例 ポップアップ表示・ロード演出の作り方 ボタン連打防止などのUI改善テクニック 初心者でも使えるサンプルコード J …

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

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

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

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

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

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

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

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

-Timer(時間制御)

執筆者: