1
我要記憶一個函數,但我不確定是否應該小心一些可以傳遞給該函數的特定參數。對象中的鍵無效
對象永遠不能擁有哪些鍵(無效鍵),但函數可以接收爲參數?
我想不出任何。即使是null
和undefined
也是有效的對象鍵。
我要記憶一個函數,但我不確定是否應該小心一些可以傳遞給該函數的特定參數。對象中的鍵無效
對象永遠不能擁有哪些鍵(無效鍵),但函數可以接收爲參數?
我想不出任何。即使是null
和undefined
也是有效的對象鍵。
沒有無效的鍵,因爲Javascript中的對象鍵存儲爲字符串。
即使您使用非字符串值作爲鍵,該值也會轉換爲字符串。
你可以用一個簡單的對象看到像{a:2}
,如果你把它定義爲另一個對象的關鍵,例如:
var b = {};
b[{a:2}] = 2;
你可以看到,{a:2}
將被拋入串"[object Object]"
。
類似地,使用null
或undefined
作爲密鑰實際上會導致密鑰"null"
和"undefined"
。
對象鍵也可以是數字,'null','undefined'等... – alexandernst
@alexandernst:是的,但它們仍然存儲爲字符串 – sfletche
不,它們不是。做你的測試,你會看到這些實際存儲爲鍵的類型。 – alexandernst