JavaScriptの「use strict」とは?厳格モードを使う理由と基本的な使い方
「use strict」とは何か
「use strict」は、JavaScriptのコードを厳格モード(Strict Mode)で実行するためのディレクティブ(指示文)です。文字列リテラルとして記述され、JavaScript 1.8.5(ECMAScript 5)で導入されました。
その名の通り、この宣言があるとコードはより厳しいルールに従って実行されます。従来は黙認されていたミスがエラーとして検出されるようになり、バグの早期発見や安全なコード作成につながります。
厳格モードの主なメリット
- 宣言していない変数への代入がエラーになり、意図しないグローバル変数の生成を防止できる
- 削除不可のプロパティの削除など、無効な操作がエラーとして通知される
- 予約語の扱いが厳密になり、将来の仕様変更にも対応しやすいコードになる
厳格モードの宣言方法
宣言方法はとてもシンプルで、"use strict"; を先頭に追加するだけです。スクリプト全体に適用する場合はスクリプトの冒頭に、特定の関数内だけで適用したい場合は関数の冒頭に記述します。
グローバルスコープでの宣言例
次の例では、変数 a を宣言せずに使用しているため、厳格モードではエラーが発生します。ブラウザの開発者ツールで動作を確認してみましょう。
<!DOCTYPE html> <html> <body> <p>変数を使用していますが、宣言を忘れているためエラーが発生します。</p> <p>F8キーを押すとエラーを確認できます。</p> <script> "use strict"; a = 1; </script> </body> </html>
このように「use strict」を有効にしておけば、うっかり変数の宣言を忘れてもすぐにエラーで気づくことができます。潜在的なバグを防ぎ、品質の高いJavaScriptコードを書くために、積極的に活用することをおすすめします。
-
JavaScriptの「use strict」とは?厳格モード(Strict Mode)を使う理由と使い方を解説
JavaScriptのStrict Mode(厳格モード)とはStrict Mode(厳格モード)は、ECMAScript 5(ES5)で導入された機能で、プログラム全体、または特定の関数を「厳格」な実行コンテキストに置くことができます。この厳格なコンテキストでは、一部の安全でない操作が禁止され、通常よりも多くの例外がスローされます。その結果、開発者はエラーの原因をより詳しく把握できるようになります。サイレントエラーが顕在化するため、デバッグやコード品質の向上にも役立ちます。Strict Modeの主な特徴宣言されていない変数への代入が失敗します。たとえば foo = bar; のように、変数
-
JavaScriptにおける厳密等価演算子(===)と寛容等価演算子(==)の違いを徹底解説
はじめにJavaScriptには、値を比較するための2種類の等価演算子が用意されています。それぞれ動作が異なるため、適切に使い分けることが重要です。寛容等価演算子(==)とは寛容等価演算子(==)は、比較対象となるオペランド同士の値を共通の型に変換(型強制)した上で、等しいかどうかを判定します。そのため、数値と文字列のように異なる型同士でも、「値が同じ」とみなされれば true を返します。厳密等価演算子(===)とは一方、厳密等価演算子(===)は、値だけでなくデータ型まで含めて比較を行います。値と型の両方が一致した場合にのみ true を返し、それ以外は false を返します。予期しない