JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptの「use strict」とは?厳格モード(Strict Mode)を使う理由と使い方を解説

JavaScriptのStrict Mode(厳格モード)とは

Strict Mode(厳格モード)は、ECMAScript 5(ES5)で導入された機能で、プログラム全体、または特定の関数を「厳格」な実行コンテキストに置くことができます。

この厳格なコンテキストでは、一部の安全でない操作が禁止され、通常よりも多くの例外がスローされます。その結果、開発者はエラーの原因をより詳しく把握できるようになります。サイレントエラーが顕在化するため、デバッグやコード品質の向上にも役立ちます。

Strict Modeの主な特徴

  • 宣言されていない変数への代入が失敗します。たとえば foo = "bar"; のように、変数 foo を事前に宣言せずに代入しようとするとエラーになります。これにより、意図しないグローバル変数の生成を防げます。
  • Strict Mode内では eval の使用に制限がかかり、安全でない eval の利用ができなくなります。
  • 関数内で arguments オブジェクトを再代入することができなくなります。
  • 非推奨とされる with ステートメントの使用が許可されません。

Strict Modeの有効化方法

スクリプト全体に対してStrict Modeを有効にするには、スクリプトの先頭に次の1行を追加します。

"use strict";

特定の関数の中だけでStrict Modeを適用したい場合は、その関数の先頭に記述します。この場合、関数の外側のコードには影響しません。

function strictFunc() {
    "use strict";
    // 関数の残りの処理
}

まとめ

「use strict」は、潜在的なバグや危険な構文を早期に検出するための仕組みです。モダンなJavaScript開発では標準的に使われており、ESモジュールでは自動的にStrict Modeが適用されます。コードの安全性と保守性を高めるために、積極的に活用しましょう。

  1. JavaScriptの「厳密モード(Strict Mode)」とは?主な特徴と使い方を解説

    「厳密モード(Strict Mode)」は、ES5(ECMAScript 5)で導入された機能で、プログラム全体または個々の関数を「より厳格な」実行環境で動作させることができます。この厳密なコンテキストでは、一部の危険な操作や非推奨の構文が禁止され、エラーが発生した際には通常よりも詳細な例外がスローされます。その結果、開発者はバグの原因をより早く特定できるようになります。厳密モードの主な特徴は以下の通りです。厳密モードの主な特徴宣言されていない変数への代入がエラーになる:変数 foo が未宣言の状態で foo = bar; のように代入しようとすると、エラーが発生します。通常モードでは暗黙的に

  2. JavaScriptにおける厳密等価演算子(===)と寛容等価演算子(==)の違いを徹底解説

    はじめにJavaScriptには、値を比較するための2種類の等価演算子が用意されています。それぞれ動作が異なるため、適切に使い分けることが重要です。寛容等価演算子(==)とは寛容等価演算子(==)は、比較対象となるオペランド同士の値を共通の型に変換(型強制)した上で、等しいかどうかを判定します。そのため、数値と文字列のように異なる型同士でも、「値が同じ」とみなされれば true を返します。厳密等価演算子(===)とは一方、厳密等価演算子(===)は、値だけでなくデータ型まで含めて比較を行います。値と型の両方が一致した場合にのみ true を返し、それ以外は false を返します。予期しない