.NETエンジニア・プログラマ向けの技術情報・業界ニュースをお届けします。

  1. FEnet.NETナビ
  2. .NETコラム
  3. プログラミング言語
  4. Javascript
  5. JavaScriptでのsetTimeoutの使い方|基本的な使い方からsetIntervalとの違いなどを紹介

JavaScriptでのsetTimeoutの使い方|基本的な使い方からsetIntervalとの違いなどを紹介

  • Javascript
  • プログラミング言語
公開日時:   更新日時:
JavaScriptでのsetTimeoutの使い方|基本的な使い方からsetIntervalとの違いなどを紹介
この記事でわかること
    基本情報技術者試験の試験対策はこちら>>
    システム
    エンジニア
    JavaScriptでのsetTimeoutはどのようなことができるのですか。
    プロジェクト
    マネージャー
    setTimeoutを使用すると、指定時間後に処理を実行できます。基本的な使い方、setIntervalとの違い、引数指定などについて紹介しましょう。

    JavaScriptでのsetTimeoutの使い方とは?


    今回は、JavaScriptでのsetTimeoutの使い方について説明します。setTimeoutを使用すると、指定時間後に処理を実行することができます。
    ここでは、
    ・基本的な使い方
    ・setIntervalとの違い
    ・引数指定
    ・イベントとの組み合せ
    ・複数のタイマー
    ・jQueryで記述
    について紹介します。

    JavaScriptでのsetTimeoutの使い方に興味のある方はぜひご覧ください。

    基本的な使い方

    setTimeoutの基本的な使い方を紹介します。実際のソースコードを見てみましょう。

    実行すると、3秒後にコンソールログに「3秒経過しました。」と表示されます。このように、指定時間後に処理を実行することができます。

    setTimeoutには、関数を指定することもできます。実際のソースコードを見てみましょう。

    実行すると、3秒後にコンソールログに「3秒経過しました。」と表示されます。このように、指定時間後に関数を実行することができます。

    setIntervalとの違い

    setTimeoutとよく似た関数にsetIntervalがあります。ここでは、setTimeoutとsetIntervalの違いについて紹介します。setIntervalは指定秒数ごとに処理を実行する関数です。実際のソースコードを見てみましょう。

    実行すると、3秒ごとにコンソールログに「3秒経過しました。」と表示されます。

    setTimeoutは1度しか実行しませんが、setTimeoutでsetIntervalのような挙動をさせることができます。実際のソースコードを見てみましょう。

    実行すると、3秒ごとにコンソールログに「3秒経過しました。」と表示されます。

    引数指定

    setTimeoutで関数を実行できることは紹介しました。ここでは、関数に引数を指定する方法を紹介します。関数に引数を指定するには、第3引数に指定します。実際のソースコードを見てみましょう。

    実行すると、3秒後にコンソールログに「3秒経過しました。argument」と表示されます。引数が渡せていることが分かります。

    イベントとの組み合せ

    イベントとsetTimeoutを組み合わせることもできます。実際のソースコードを見てみましょう。

    実行結果は以下のようになります。ボタンをクリックすると、3秒後にコンソールログに「ボタンをクリックしてから3秒経過しました。」と表示されます。

    See the Pen
    setTimeout1
    by kskumd (@kskumd)
    on CodePen.


    このように、イベントとsetTimeoutを組み合わせることもできます。

    複数のタイマー

    setTimeoutを複数組み合わせることもできます。X秒後に処理Aを実行し、処理Aが終わったY秒後に処理Bを実行し、…のように非同期処理をタイマーで実現できます。実際のソースコードを見てみましょう。

    実行すると、1秒後に「1秒経過しました。」、その2秒後に「2秒経過しました。」、その3秒後に「3秒経過しました。」と表示されます。
    しかしながら、このソースはネストが深くて分かりづらいソースになっています。

    このソースコードをシンプルにする方法として、Promiseを使用する方法があります。thenで複数連結することができます。実際のソースコードを見てみましょう。

    実行すると、同じく1秒後に「1秒経過しました。」、その2秒後に「2秒経過しました。」、その3秒後に「3秒経過しました。」と表示されます。
    こちらの方がシンプルなコードになります。Promiseを使用した非同期処理についてもマスターしてください。

    jQueryで記述

    jQueryでsetTimeout相当の挙動をさせる方法を紹介します。実際のソースコードを見てみましょう。

    実行結果は以下のようになります。ボタンをクリックして3秒後にhtml要素が変更されることが分かります。

    See the Pen
    setTimeout2
    by kskumd (@kskumd)
    on CodePen.


    このように、jQueryでもsetTimeout相当の挙動をさせることができます。

    システム
    エンジニア
    jQueryでsetTimeout相当の挙動をさせる方法もあるのですね。
    プロジェクト
    マネージャー
    はい、ご紹介したソースコードをご自身でも書いてみてください。

    まとめ

    いかがでしたでしょうか。JavaScriptでのsetTimeoutの使い方について説明しました。setTimeoutを使用すると、指定時間後に処理を実行することができます。
    基本的な使い方から、setIntervalとの違い、引数指定、イベントとの組み合せ、複数のタイマー、jQueryで記述について紹介しました。

    ぜひご自身でJavaScriptのソースコードを書いて、理解を深めてください。

    FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
    株式会社オープンアップシステムロゴ

    株式会社オープンアップシステムはこんな会社です

    秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
    数多くのエンジニアが集まります。

    秋葉原オフィスイメージ
    • スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。

    • 充実した研修制度

      充実した研修制度

      毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。

    • 資格取得を応援

      資格取得を応援

      スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。

    • 東証プライム上場企業グループ

      東証プライム上場企業グループ

      オープンアップシステムは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。

      安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。

    株式会社オープンアップシステムに興味を持った方へ

    株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。

    年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
    まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。

    株式会社オープンアップシステムへのご応募はこちら↓
    株式会社オープンアップシステムへのご応募はこちら↓

    新着案件New Job