Конструктор 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
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet Deno Node.js
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

Дивіться також