【JS学習マラソン】第6回 1.2.3 モダンなモード, "use strict"
JavaScript学習マラソンの第6回は、
「現代の JavaScript チュートリアル」パート1の2.3「モダンなモード, "use strict"」です。
モダンなモード, "use strict" https://ja.javascript.info/strict-mode
を読んでみます。
Strict モード(厳格モード)
JavaScriptには、「Strictモード」という仕組みが用意されています。
"use strict" ディレクティブは “最新” モードにエンジンを切り替え、いくつかの組み込みの機能の振る舞いを変更します。
JavaScriptの文法は、バージョンアップを重ねる度にちょっとずつ変わってます。
JavaScriptのコードを古い文法ではなく新しい文法で書く場合、JavaScriptのコードを解釈するコンパイラーに対して、「最新のバージョンでコードを解釈しなさい」とプログラマーが指示を出すことができます。
その仕組みが「Strictモード」とのことです。
Strictモードの呼び出し方
プログラムや関数の先頭部分で「"use strict";」と書けば、Strictモードを有効にできます。
Strictモードの注意点
- 一度Strictモードを有効にしたら、途中で無効にすることはできない。
- 「"use strict";」は先頭で書かなければ無視される。(途中で書いても無駄)
- 外部ファイルを呼び出す場合、最初にStrictモードを有効にしてると、その後も全部有効になってしまう。(非Strictモードで使いたい部分があるときは要注意)
コード全体じゃなくて、一部の関数だけなど、部分的にStrictモードを有効にすることもできます。
古いJavaScriptのコードを修正する場合とか、全部をいきなりStrictモードにできない場合は、使い分ければ良いですね。
関数に対する strict モード
関数で strict モードを呼び出すには、関数本体で他のいかなる文よりも前に "use strict"; (または 'use strict';) という文をそのまま追加します。
(チュートリアルを順番に勉強していく場合、まだ今の段階では「関数」を勉強してないので、↑この説明はいったん無視しておきましょう。)
defaultモード(通常モード)
用語として、
「Strictモード」(厳格モード)ではない状態を
「defaultモード」(通常モード)とか「非Strictモード」
と呼ぶようです。
チュートリアルでは、基本的にStrictモードでJavaScriptのコードを書くそうです。
今から書くなら、全部Strictモードにしておけば良いですね?
Strictモードを使うメリット
javascript strictモード メリット - Google 検索
いろいろな利点が説明されてますが、最新の文法を適用することで、エラーを減らすことが利点みたいです。
まとめ
(教材のサマリーから引用)
- "use strict" ディレクティブは “最新” モードにエンジンを切り替え、いくつかの組み込みの機能の振る舞いを変更します。
- strict mode は先頭の "use strict" で有効になります。また、自動的に strict mode を有効にする “classes” や “modules” のようないくつかの機能もあります。
- strict mode はすべてのモダンブラウザによってサポートされています。
- 常に "use strict" で始まるスクリプトは推奨されます。

スラスラ読める JavaScript ふりがなプログラミング (ふりがなプログラミングシリーズ)
- 作者: リブロワークス,及川卓也
- 出版社/メーカー: インプレス
- 発売日: 2018/06/22
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る