JSLint - JavaScriptの "use strict "とは何を意味し、その理由は?

PureScript / javascript / syntax / jslint / use-strict

最近、JavaScriptコードの一部をCrockfordのJSLintで実行したところ、次のエラーが発生しました。

Mark Rogers



Answer #1

グローバル変数宣言の防止:

var tree1Data = { name: 'Banana Tree',age: 100,leafCount: 100000};

function Tree(typeOfTree) {
    var age;
    var leafCount;

    age = typeOfTree.age;
    leafCount = typeOfTree.leafCount;
    nameoftree = typeOfTree.name;
};

var tree1 = new Tree(tree1Data);
console.log(window);

Uncaught SyntaxError:ストリクトモードでは、オブジェクトリテラル内のデータプロパティの重複は許されません。

"use strict";
var tree1Data = {
    name: 'Banana Tree',
    age: 100,
    leafCount: 100000,
    name:'Banana Tree'
};