JavaScript の予約済みキーワード / 関数がどのように管理されているのか気になります。
例:
によると:
http://www.quackit.com/javascript/javascript_reserved_words.cfm
delete
は JavaScript による予約済みキーワードです。
次に、いくつかのコンテキストについて次のスニペットを検討してください。
var cookieManager = {
get: function (name) {
// function contents ...
console.log("cookieManager.get() called");
return true;
},
set: function (name, value, days) {
// function contents ...
console.log("cookieManager.set() called");
return true;
},
delete: function (name) {
// function contents ...
console.log("cookieManager.delete() called");
return true;
}
};
このオブジェクトにはdelete
プロパティがありますが、その名前は JavaScript によって予約されているため、失敗するはずですよね?
しかし、 of で実行するcookieManager.delete();
とwebconsole
、FireFox
次の出力が得られ、正常に動作することが示唆されます。
[11:26:00.654] cookieManager.delete();
[11:26:00.656] cookieManager.delete() called
[11:26:00.657] true
ただし、コードを実行するJsLint
と、
Problem at line 12 character 5: Expected an identifier and instead saw 'delete' (a reserved word).
delete: function (name) {
これは大きなノーノーアプローチであり、避けるべきであることを示唆しています。
したがって、いつ予約済みキーワードを考慮に入れる必要がありますか?私は聖書を守り、JsLint
javascript によって予約されたキーワードの名前を変更しますか? このコンテキストでは、.delete() の名前を .remove() に簡単に変更できます。