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が適用されます。コードの安全性と保守性を高めるために、積極的に活用しましょう。
-
JavaScriptの「厳密モード(Strict Mode)」とは?主な特徴と使い方を解説
「厳密モード(Strict Mode)」は、ES5(ECMAScript 5)で導入された機能で、プログラム全体または個々の関数を「より厳格な」実行環境で動作させることができます。この厳密なコンテキストでは、一部の危険な操作や非推奨の構文が禁止され、エラーが発生した際には通常よりも詳細な例外がスローされます。その結果、開発者はバグの原因をより早く特定できるようになります。厳密モードの主な特徴は以下の通りです。厳密モードの主な特徴宣言されていない変数への代入がエラーになる:変数 foo が未宣言の状態で foo = bar; のように代入しようとすると、エラーが発生します。通常モードでは暗黙的に
-
JavaScriptにおける厳密等価演算子(===)と寛容等価演算子(==)の違いを徹底解説
はじめにJavaScriptには、値を比較するための2種類の等価演算子が用意されています。それぞれ動作が異なるため、適切に使い分けることが重要です。寛容等価演算子(==)とは寛容等価演算子(==)は、比較対象となるオペランド同士の値を共通の型に変換(型強制)した上で、等しいかどうかを判定します。そのため、数値と文字列のように異なる型同士でも、「値が同じ」とみなされれば true を返します。厳密等価演算子(===)とは一方、厳密等価演算子(===)は、値だけでなくデータ型まで含めて比較を行います。値と型の両方が一致した場合にのみ true を返し、それ以外は false を返します。予期しない