帶引號和不帶引號的物件鍵:外觀上的差異
使用JavaScript 物件時,您可能會遇到帶或不含引號的物件鍵。一個常見的問題是:
obj = {'foo': 'bar'}; // With quotes
和
obj = {foo: 'bar'}; // Without quotes
之間是否有任何區別答案:沒有顯著差異
在大多數情況下,引號和不帶引號的鍵沒有顯著差異。 JavaScript 允許不帶引號的鍵,只要它們是有效的 JavaScript 識別碼即可。
例外:在鍵中使用特殊字符
但是,如果您需要在鍵中使用特殊字符,例如破折號(-),則必須使用引號。
JSON需求
需要注意的是,JSON 資料交換格式需要在鍵周圍使用雙引號。雖然這不會影響 JavaScript 物件的功能,但如果您打算與使用 JSON 的系統交換數據,則需要考慮一下。
範例
讓我們考慮以下程式碼:
var obj1 = {'foo': 'bar', 'baz-1': 'qux'}; var obj2 = {foo: 'bar', 'baz-1': 'qux'};
obj1 和 obj2 都會建立具有相同鍵和值的物件。但是,如果您嘗試將 obj1 轉換為 JSON 字串,則會因未加引號的鍵帶有破折號而遇到錯誤。
總之,雖然帶引號和不帶引號的鍵之間通常沒有功能差異,建議對包含特殊字元或處理 JSON 資料交換的鍵使用引號。
以上是JavaScript 中帶引號和不帶引號的物件鍵有差別嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!