Конструктор String()
Конструктор String()
(рядок) створює об'єкти String
. Коли він викликається як функція, то повертає примітивні значення типу String.
Синтаксис
new String(thing)
String(thing)
Примітка:
String()
можна викликати як з, так і безnew
, але з різним результатом. Дивіться Повернене значення.
Параметри
thing
Що завгодно, що може бути перетворено на рядок.
Повернене значення
Коли String
викликається як конструктор (з new
), то він створює об'єкт String
, що не є примітивом.
Коли String
викликається як функція, вона зводить свій параметр до рядкового примітиву. Значення Symbol перетворюються на "Symbol(опис)"
, де опис
– це опис значення Symbol, без викидання помилки.
Застереження:
String
рідко доводиться використовувати як конструктор.
Приклади
Конструктор String та функція String
Конструктор String та функція String повертають різні результати:
const a = new String("Привіт, світе"); // a === "Привіт, світе" – це хиба
const b = String("Привіт, світе"); // b === "Привіт, світе" – це істина
a instanceof String; // істина
b instanceof String; // хиба
typeof a; // "object"
typeof b; // "string"
Як наведено вище, функція повертає рядок (примітивний тип), як і очікувалось. Однак конструктор повертає екземпляр об'єкта типу String (об'єктну обгортку), і саме тому дуже рідко виникає потреба використовувати конструктор String.
Використання String() для рядкування символу
String()
– це єдиний випадок, при якому символ може бути перетворений на рядок без викидання помилки, оскільки ця операція – украй очевидна.
const sym = Symbol("приклад");
`${sym}`; // TypeError: Cannot convert a Symbol value to a string
"" + sym; // TypeError: Cannot convert a Symbol value to a string
"".concat(sym); // TypeError: Cannot convert a Symbol value to a string
const sym = Symbol("приклад");
String(sym); // "Symbol(приклад)"
Специфікації
Сумісність із браузерами
desktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
String() constructor
|
Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | Internet Explorer Full support 3 | Opera Full support 3 | Safari Full support 1 | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox for Android Full support 4 | Opera Android Full support 10.1 | Safari on iOS Full support 1 | Samsung Internet Full support 1.0 | Deno Full support 1.0 | Node.js Full support 0.10.0 |
Дивіться також
- Посібник Форматування тексту