JavaScript

[JavaScript] ブロックスコープを定義する

投稿日:2016年12月10日 更新日:

JavaScriptでブロックスコープを定義する方法です。

ECMAScript5以前の環境では即時関数を使用しますが、
ECMAScript6からブロックスコープが簡単に定義できるようになりました。

ブロックスコープを定義する(ECMAScript6以降)

ECMAScript6以降でブロックスコープを定義するには、「{」、「}」で囲うだけです。

例)ブロックスコープを定義するサンプル

(結果)
100 200 100

解説

  • ECMAScript6以降ではグローバル変数/ローカル変数を区別し、グローバル変数の定義はvar、ローカル変数の定義はletを使用します。
  • なので、ブロック内でのみ有効な変数(ローカル変数)を定義する場合はletで定義します。
  • ブロック内でvarで変数定義すると、グローバル変数を定義したことになります。

ブロックスコープを定義する(ECMAScript5以前)

ECMAScript5以前の環境でブロックスコープを定義するには、即時関数を使用します。

例)ブロックスコープを定義するサンプル

(結果)
100 200 100

解説

  • ECMAScript5以前ではグローバル変数/ローカル変数を区別せず、変数定義はすべてvarで行います。
  • 即時関数内でvar定義しても即時関数外の変数には影響しません。

スポンサーリンク

スポンサーリンク

-JavaScript
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

[JavaScript] JavaScriptの予約語

JavaScriptには以下の予約語があります。 予約語は変数名やFunction名などに使用することができません。 J ...

[JavaScript] if、for、while、do-while、switch句のサンプル

if句、for句、while句、do-while句、switch句のサンプルです。 書き方をど忘れした時にどうぞ。(;・ ...

[JavaScript] Base64形式の画像データをcanvasに表示する

Base64形式の画像データをcanvasに表示するサンプルです。 サンプルソース 例)Base64文字列をcanvas ...

[JavaScript] sleep処理を行う

JavaScriptには標準でsleep関数が無いので、sleep処理を行いたい場合は自作する必要があります。 サンプル ...

[JavaScript] イベントハンドラを設定する

イベントハンドラはHTMLタグに「onclick="~"」のように記述することが多いですが、 JavaScriptで動的 ...

スポンサーリンク