js_string

Тип данных строка и класс String в JavaScript

Наши соц. сети: instagram, fb, tg

Подробный разбор строки в JavaScript

Строка является одним из примитивных типов данных в JavaScript.

Строки в JavaScript - это последовательное расположение символов Unicode, заключенное в “ ” или ‘ ’. Оба варианта являются допустимыми способами определения строки.

В JavaScript допустимой строкой может быть:

console.log("Hello Developers");
console.log('Hello Developers');
console.log('Hello \n Developers');

Все приведенные выше выражения будут выводить действительные строки в консоли.

Вы знали?

Примитивные типы данных в JS, такие как string, number и boolean, имеют свои соответствующие объекты-обертки, которые также могут использоваться для определения их соответствующих значений.

Больше способов создать String Literal

Мы также можем создать строку, используя их объекты-обертки, такие как:

var str1 = "Hello";
console.log(str1); // Hello
var str2 = String("Hello");
console.log(str2); // Hello

В данном случае (str1 === str2) будет иметь значение true.

Кроме того, мы можем предоставить не строчное (non-string) значение объекту-обертке String, и оно будет преобразовано в строку.

String(20) создаст строку “20”, даже если мы передадим ей число.

Использование ключевого слова new с объектом-оберткой

В JavaScript есть ключевое слово new, которое мы можем использовать совместно с объектом-оберткой для создания строк:

var str1 = String(“Hi”);  // вернет строку
var str2 = new String(“Hi”); // вернет объект

Использование ключевого слова new работает иначе и возвращает объект.

Значения str1 и str2 будут:

string

Обратите внимание на объект, который мы получаем вместо строки для str2.

Если мы попытаемся сравнить переменные str1 и str2, мы получим:

(str1 === str2) // returns false

Получение значений от объектов String

Поскольку str2 является объектом, мы не можем напрямую проверить его равенство с str1. Чтобы проверить равенство str1 и str2, нам нужно использовать функцию объекта-обертки String с именем valueOf().

str1 === str2.valueOf() // returns true

Еще одна интересная “плюшечка”, которую нужно знать

var str1 = "Hi";
console.log(str1); // logs "Hi"
console.log(str1.valueOf()); // logs "Hi"

Вы заметили, что мы вызвали valueOf() на str1 и присвоили ему примитивное значение.

Можете ли вы ответить, откуда мы получаем функцию valueOf(), несмотря на то, что str1 присвоено примитивное значение?

Причина

Для выражений присваивания примитивных значений переменной, например:

var str1 = "Hi";

JavaScript внутри создаст переменную, используя:

String("Hi")

В результате у нас есть все доступные функции объекта-обертки String.

Надеемся статья была вам полезна! Заходите ещё будем рады😀