no-reserved-keys
不允許在物件實字中使用未加引號的保留字作為屬性名稱。
ECMAScript 3 描述了一系列關鍵字和保留字,例如 if
和 public
,這些關鍵字和保留字用於或預期用於核心語言功能。規範也指出,這些關鍵字和保留字不能在不使用字串括起來的情況下用作物件屬性名稱。當您在物件實字中使用關鍵字或保留字時,ECMAScript 3 環境中會發生錯誤。例如
var values = {
enum: ["red", "blue", "green"] // throws an error in ECMAScript 3
}
在這段程式碼中,enum
被用作物件鍵,並會在 ECMAScript 3 環境(例如 Internet Explorer 8)中拋出錯誤。
ECMAScript 5 放寬了限制,使得關鍵字和保留字可以用作物件鍵而不會導致錯誤。但是,任何需要在 ECMAScript 3 中執行的程式碼仍然需要避免使用關鍵字和保留字作為鍵。
規則詳細資訊
此規則旨在消除 ECMAScript 3 關鍵字和保留字作為物件實字鍵的使用。因此,每當物件鍵會在 ECMAScript 3 環境中拋出錯誤時,它都會發出警告。
此規則的錯誤程式碼範例
var superman = {
class: "Superhero",
private: "Clark Kent"
};
var values = {
enum: ["red", "blue", "green"]
};
此規則的正確程式碼範例
var superman = {
"class": "Superhero",
"private": "Clark Kent"
};
var values = {
"enum": ["red", "blue", "green"]
};
何時不該使用
如果您的程式碼僅在 ECMAScript 5 或更高版本的環境中執行,那麼您可以安全地關閉此規則。
版本
此規則在 ESLint v0.8.0 中引入,並在 v1.0.0 中移除。