Help us understand the problem. What is going on with this article?

【JavasScript】use strictとは

More than 3 years have passed since last update.
*もくじ*
1 概要
2 使い方
3 注意点
4 参考URL

1 概要

JavaScript(以下、JS)内でuse strictを宣言すると、コードがstrict(厳格)モードで実行されるようになる。
strictモードでは、より的確なエラーチェックが行われる。
これまでエラーにならなかったような曖昧な実装がエラー扱いになります。

何が厳格になったの?

  1. withの使用の禁止
  2. eval内で宣言された変数のスコープ
  3. 単純名の削除の禁止
  4. いくつかの識別子を予約語に
  5. arguments の単純化
  6. セキュアな JavaScript 作成の容易化
  7. 8進数表記の禁止 etc..

メリット)

  • コード内に存在する潜在的な問題を早期に発見しやすくなります。
  • strictモードのコードは高速に実行することができる場合がある(JSエンジンによる最適化処理を困難にする誤りを修正するため)

2 使い方

  • ECMAScript5からの対象
  • スクリプト全体/各関数にuse strict;と書くだけ

ポイント)

  • strict 非対応ブラウザーでも、問題なくコードは動作する。
  • strictモードは、JSの次期バージョンに備え、正しいコーディングのみを許可するモード。

3 注意点

  • use strict宣言は各関数スコープにつき1回 ※重複してもエラーにはならないが、「不要な宣言」であると警告がでる。
  • strictモード非準拠のコードも存在するのでスクリプト全体にstrict宣言をするより、各関数ごとにするほうが良い。

4 参考URL

  1. https://developer.mozilla.org/ja/docs/Web/JavaScript/Strict_mode
  2. https://msdn.microsoft.com/ja-jp/library/br230269(v=vs.94).aspx
  3. http://analogic.jp/use-strict/
Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away