JavaScriptの「use strict」とは?厳格モードの役割とその理由をわかりやすく解説
「use strict」とは何か
「use strict」はJavaScriptにおけるディレクティブ(指令文)の一種で、文字列リテラルとして記述される特別な表現です。JavaScript 1.8.5(ECMAScript 5)で導入されたこの構文は、その名の通り、コードを厳格モード(strict mode)で実行することを宣言する役割を持ちます。
厳格モードを有効にすると、これまで黙って許されていた「問題のある書き方」がエラーとして検出されるようになります。これにより、バグの早期発見や安全なコードの作成につながります。
厳格モードを宣言する方法
厳格モードを宣言するには、コードの先頭に「use strict」というキーワードを追加するだけです。
- スクリプト全体に適用する場合: scriptタグ内の冒頭(グローバルスコープ)に記述します。
- 関数単位で適用する場合: 関数本体の最初の行に記述すると、その関数内のみ厳格モードが有効になります。
サンプルコード
<!DOCTYPE html> <html> <body> <p>変数を使用しているのに宣言し忘れているため、エラーが発生します</p> <p>F8キーを押すとエラーを確認できます。</p> <script> "use strict"; a = 1; </script> </body> </html>
上記の例では、変数 a を var や let を使わずに代入しています。通常モードであれば暗黙的にグローバル変数が生成されてしまいますが、厳格モードではReferenceErrorがスローされ、ミスに即座に気づくことができます。
厳格モードを使うメリット
- 宣言忘れによる意図しないグローバル変数の生成を防止できる
- 読み取り専用プロパティへの代入など、サイレントに失敗していた操作がエラーになる
- 重複した引数名や予約語の不適切な使用が禁止される
thisの挙動がより予測しやすくなり、安全なコードを書きやすい
このように「use strict」は、潜在的なバグを開発段階で明確にするための重要な仕組みです。現代のJavaScript開発では、ESモジュールが自動的に厳格モードで動作するため、多くの場面で標準的に適用されています。
-
JavaScriptのMath.asinh()とMath.acosh()関数の使い方を徹底解説
Math.asinh() と Math.acosh() は、それぞれ数値の双曲線逆正弦(アークハイパボリックサイン)と双曲線逆余弦(アークハイパボリックコサイン)を求めるための関数です。これらは Math オブジェクトの静的メソッドであるため、Math オブジェクトのインスタンスを作成して呼び出すのではなく、常に Math.asinh() や Math.acosh() の形式で直接使用します。なお、両関数とも ECMAScript 2015(ES6)で追加された比較的新しいメソッドです。Math.asinh() の使い方Math.asinh() メソッドは、引数に指定した数値の双曲線逆正弦を求
-
JavaScriptでのSentryの使い方とは?主な機能をわかりやすく解説
Sentryとは?JavaScript開発を支えるデバッグ・監視ツールSentryは、本番環境(プロダクション)で稼働しているコードを追跡できる、JavaScript向けの総合的なデバッグ・監視ツールパッケージです。開発環境では再現しないエラーや、ユーザーの端末上でのみ発生する不具合を効率的に把握できるため、Webアプリケーションの品質向上に欠かせない存在となっています。Sentryが提供する主な機能は以下の通りです。1. 環境情報と使用状況の記録によるバグ再現エラー発生時のOS、ブラウザ、デバイス、URLなどの環境情報やユーザーの操作状況を自動的に記録します。これにより、報告だけでは再現が難