Я очень смущен о том, что wrapper objects for primitives. Например, примитив строки и строка, созданная с объектом обертки строки.Разница между строковым примитивом и объектом оболочки строки в Javascript
var a = "aaaa";
var b = new String("bbbb");
console.log(a.toUpperCase()); // AAAA
console.log(b.toUpperCase()); // BBBB
console.log(typeof a); // string
console.log(typeof b); // object
Оба дают доступ к String.prototype
методам, и, кажется, действуют точно так же, как строковый литерал. Но это не строка, это объект. Какова практическая разница между a
и b
? Почему я должен создать строку, используя new String()
?
Там нет реального Прецедент на самом деле. Практическое различие заключается в том, что строковая оболочка действует как объект (и, например, может иметь собственные свойства). – Bergi