Javascript開発におけるStrictモード使用のすすめ | Web | マイホームブログ | Web屋の芝生DIY

芝生やDIY等のライフハックやWeb制作情報を発信するメディア

メニューを開く

Javascript開発におけるStrictモード使用のすすめ

Web2016年12月26日

Javascriptの開発をStrictモードで開発を行う事で様々なメリットがあります。本記事ではJavascriptのStrictモードについて解説してみたいと思います。

JavasciprのStrictモードとは?

簡単に言えばJavasciptの次期バージョンに備えて、厳格化されたコーディングのみ許可・実行するモードです。コード内で「"use strict"」を宣言することでそのJavasciptはStrictモードとなります。

構文エラーなどひとつひとつが厳格に処理されるため、これまで検知できなかったようなエラーやコードの問題点を早期に発見しやすくなります。

また、非Strictモードよりも高速に実行が行われるため、パフォーマンス面でも大きなメリットがあります。

Strictモードを使用する主なメリット

  • 構文レベルにおいて厳密な会社を行う為、構文エラー等のケアレスミスが防げる
  • 「varキーワードを忘れた変数宣言を行ってしまったことによる、意図せぬグローバル変数の追加」などが防げる
  • 今後の言語拡張においてStrictモードが前提となっている機能が存在するため、将来への備えになる
  • 非対応環境(IE8、9などの古いIE)での副作用がない

非StrictモードとStrictモードの挙動比較

  非Strict Strict
未宣言変数への代入 グローバル変数が作成 エラー
書込不可プロパティへの代入 何も起きない エラー
書込不可変数への代入 何も起きない エラー
プロパティ名の重複 最後に宣言したものをプロパティの値であると解釈 エラー
削除不可のプロパティを削除 何も起きない エラー
8進数標記 8進数として処理 エラー

サンプルコード

無名関数全体にStrictモードを有効化

(function () {
    "use strict";
    //ここに処理を記述
})();

関数hogeのみにStrictモードを有効化

function hoge () {
    "use strict";
    //ここに処理を記述
}

Strictモード使用時の注意点

グローバルスコープでの "use strict"; 宣言は行わない

複数のjsファイルを使用している場合、Strictモードが意図しない範囲まで影響する可能性があるため、グローバルスコープでの宣言は行わないようにしましょう。

悪い例

"use strict";//グローバルスコープでStrictモードを宣言
(function () {
    //ここに処理を記述
})();

まとめ

いまいちWeb業界に浸透しきっていないJavascriptのStrictモードですが、メリットが非常に大きいため積極的なご使用をおすすめいいたします。

StrictモードでJavascriptの開発を行う際は、ぜひ本記事をご参考にしていただけますと幸いです。

この記事を読んでいる方にオススメの記事

「Web」の他の記事を読む

この記事にコメントする

必須
必須
本文必須

  • 承認制のため、即時には反映されません。

ページの先頭に戻る