undefined
は技術的に再定義できるため、予約語ではありません。undefined
その結果、私は通常、次のように、未定義の変数になるように強制する無名関数でコードを記述します。
(function (undefined) {
"use strict";
var o = {
test: "testvalue"
};
if (o.test === undefined) {
// Do stuff here
} else {
// Do other stuff there
}
}());
ただし、JSLintには次のエラーが記載されています。
Problem at line 1 character 15: Expected an identifier and instead saw 'undefined' (a reserved word).
undefined
コードが変数を任意に再定義できるのに、 JSLint が予約語であることに文句を言うのはなぜですか? 私はあなたが使用できることを知っていますtypeof x === "undefined"
; この方法がうまくいかない理由を知りたかっただけです。