JavaScriptの厳格モード(use strict)とは?宣言方法とエラー防止の基本を解説
「use strict」はJavaScriptにおけるディレクティブ(指令)の一種で、文字列リテラル式として記述します。JavaScript 1.8.5で導入された機能で、その名のとおり、コードを「厳格モード(strict mode)」で実行することをブラウザに指示します。
厳格モードを有効にすると、宣言していない変数の使用など、従来は黙認されていたミスがエラーとして検出されるようになります。その結果、潜在的なバグを早期に発見でき、より安全で品質の高いコードを書くことにつながります。
厳格モードの宣言方法
厳格モードを宣言するには、コードの先頭に「use strict」というキーワードを追加します。スクリプト全体(グローバルスコープ)に適用する場合は、scriptタグ内の冒頭で宣言します。また、関数の先頭に記述すれば、その関数内にのみ厳格モードを適用することも可能です。
サンプルコード
以下の例では、変数を宣言せずに値を代入しているため、厳格モード下ではエラーが発生します。F8キーを押すとエラーを確認できます。
<!DOCTYPE html> <html> <body> <p>変数を使用しましたが、宣言を忘れているためエラーが発生します</p> <p>F8キーを押すとエラーを確認できます。</p> <script> "use strict"; a = 1; </script> </body> </html>
実行結果
変数を使用しましたが、宣言を忘れているためエラーが発生します F8キーを押すとエラーを確認できます。
このように、厳格モードでは宣言忘れの変数への代入が即座にエラーとなるため、意図しないグローバル変数の生成を防ぎ、コードの安全性を高めることができます。
-
JavaScriptでフォームをリセット・クリアする方法|reset()メソッドの使い方を解説
JavaScriptを使ってフォームをリセットまたはクリアしたい場合は、reset()メソッドを使用します。このメソッドは、フォームに用意された「リセットボタン」をクリックしたときとまったく同じように動作し、フォーム内のすべての入力要素(テキストボックス、パスワード欄、チェックボックス、ラジオボタンなど)の値を初期状態に戻します。reset()メソッドの基本reset()メソッドは、対象のform要素に対して呼び出すだけで使えます。なお、リセットとは「空にする」ことではなく、HTMLのvalue属性などで指定された初期値(デフォルト値)に戻すという点に注意してください。初期値が設定されていない
-
JavaScriptでブロックスコープ変数を宣言するには?letとconstの使い方を解説
ブロックスコープ変数とはJavaScriptでブロックスコープ変数を宣言するには、ES2015(ES6)で導入された let および const キーワードを使用します。これらのキーワードで宣言された変数は、{ }(波括弧)で囲まれたブロックの中でのみ有効となり、ブロックの外からアクセスしようとするとエラーが発生します。let と const の違いlet は値の再代入が可能な変数を宣言するキーワードで、const は再代入ができない定数を宣言するキーワードです。どちらもブロックスコープを持つため、従来の var(関数スコープ)と異なり、意図しない変数の上書きや漏れを防ぐことができます。特別な