3
這是我一直認爲理所當然的事情,但想知道的推理。爲什麼JavaScript文字的行爲不同於非文字對應?
例如,我爲什麼可以這樣做:
var a = new Number(1);
a.test = 'string';
console.log(a.test);
>>> 'string'
但是當我做
var a = 1;
a.test = 'string';
console.log(a.test)
>>> undefined
爲什麼他們的行爲如此不同?
編輯:安德烈措辭的問題要好得多比我在這個線程:Javascript primitive types and corresponding objects
我不知道該說什麼......我不明白你爲什麼會想到這些是相同的,在所有 – Esailija
即使它不會導致錯誤你不能在JavaScript基元類型上添加屬性。由於a是原始類型,因此「添加」屬性不顯示。 – HMR