Per quanto ho capito, ogni stringa è un oggetto in Javascript. Eppure, "non funziona", come mi aspetto che sia:Valore di proprietà di un oggetto String in JavaScript
var a="abc"; //here we get a new string object
a.b = 123; //I seem to declare a property "b" of that object
alert(a.b); //alerts "undefined"
Tuttavia, se provo a definire una stringa nel "modo sbagliato", tutto funziona come previsto
var a=new String("abc"); //
a.b = 123;
alert(a.b); //alerts "123"
Perché è così?
Capito, grazie - "La ragione per cui non è possibile aggiungere proprietà o metodi a una stringa letterale è che quando si tenta di accedere alla proprietà o il metodo, l'interprete JavaScript temporaneamente copia il valore della stringa in un letterale un nuovo oggetto e quindi utilizzare le proprietà oi metodi dell'oggetto. " ;-) – naivists