11 Dec 2012

js の strict mode おさらい

スクリプト or 関数の先頭に 'use strict'; と書いておくと, 処理系が厳密にコードをチェックしてアラートを出してくれる.

簡単な例. strict mode では with は使っちゃいけない. 以下の html をブラウザで開くと,

<html>
<body>
<script>
'use strict';

with (localhost) {
    alert(href);
}
</script>
</body>
</html>

chrome だとこんなエラーを出してくれる.

Uncaught SyntaxError: Strict mode code may not include a with statement

どういうものが strict mode だとエラーになるのかは, 導入は zakas さんのこの記事がよさげ.

It’s time to start using JavaScript strict mode | NCZOnline

より詳細はこちらで仕様にあたるといい.

ECMA-262 » ECMA-262-5 in detail. Chapter 2. Strict Mode.

書き方にも若干注意点があるけれども, 基本的には strict mode にしたいスコープの先頭に 'use strict'; を書いておけば OK. 前にコメントはあってもいいけどコードはだめ. 詳しくは niw さんのブログ

“use strict” - blog.niw.at