Как преобразовать значения в строки в JavaScript

Встроенная функция String, метод toString и др.

Автор фото freestocks на Unsplash.

В этом посте мы рассмотрим 4 различных хороших и плохих способа преобразования всех видов значений в строки.

Мы рассмотрим следующие значения для преобразования.

console.log(typeof 1);
//number
console.log(typeof true)
//boolean
console.log(typeof null)
//object
console.log(typeof undefined)
//undefined
console.log(Array.isArray([1,2,3]))
//true
console.log(typeof { msg: 'Hi' })
//object
console.log(typeof Symbol('id'));
//symbol

Использование встроенной функции String

StringВстроенная функция может преобразовать любое значение в строку. Это лучший вариант для преобразования примитивных типов в строки.

String(1)
//'1'
String(true)
//'true'
String(null)
//'null'
String(undefined)
//'undefined'
String([1,2,3])
//'1,2,3'
String({ msg: 'Hi'})
//'[object Object]'
String(Symbol('id'))
//'Symbol(id)'

Использование строки шаблона

Строка шаблона допускает встроенные выражения. Эти выражения преобразуются в строки. Ознакомьтесь с примерами ниже.

`${1}`
//'1'
`${true}`
//'true'
`${null}`
//'null'
`${undefined}`
//'undefined'
`${[1,2,3]}`
//'1,2,3'
`${{ msg: 'Hi'}}`
//'[object Object]'

`${Symbol('id')}`
//Cannot convert a Symbol value to a string

В JavaScript все объекты наследуются от Object.prototype. Это означает, что все они имеют доступ к методам, хранящимся в этом объекте, включая toString.

Вот результат вызова toStringобъекта или массива.

[1,2,3].toString()
//'1,2,3'
{ msg: 'Hi'}.toString()
//'[object Object]'

const prototype = {
  toString(){
    return JSON.stringify(this);
  }
}
const obj = Object.create(prototype);
obj.msg = 'Hi';
console.log(obj.toString());
//''{"msg":"Hi"}''

Интересно, что мы можем вызывать этот toStringметод для примитивов, таких как числа и логические значения. Проверьте код ниже.

(1).toString()
//'1'
true.toString()
//'true'
Symbol('id').toString()
//'Symbol(id)'

Для всех примитивов, кроме nullи, в undefinedJavaScript есть встроенные функции-оболочки, такие как Numberили Boolean. Он использует эти конструкторы функций для создания объектов, а затем вызывает toStringметод для вновь созданных объектов. Что-то вроде этого происходит за кадром:

new Number(1).toString()

null.toString()
//Cannot read property 'toString' of null
undefined.toString()
//Cannot read property 'toString' of undefined

Последний вариант преобразования в строку - выполнить конкатенацию строк. Проверьте следующие примеры.

'' + 1
//'1'
'' + true
//'true'
'' + null
//'null'
'' + undefined
//'undefined'
'' + [1,2,3]
//'1,2,3'
'' + { msg: 'Hi'}
//'[object Object]'

Вот что происходит при объединении вместо сложения чисел.

1 + '2'
//'12'

console.log('' + Symbol('id'))
//Cannot convert a Symbol value to a string

Это все, что я хотел рассказать о преобразованиях строк. Спасибо за прочтение.

Suggested posts

Поиск информации о доменных именах

Отрывок из книги «Маленькие программные инструменты Sharp» Брайана П. Хогана.

Поиск информации о доменных именах

Когда вы делаете запрос на facebook.com, ваш компьютер ищет доменное имя, чтобы преобразовать это доменное имя в IP-адрес, чтобы ваш компьютер мог установить это соединение.

Как избежать разрушительных последствий инсульта: уроки семейного опыта.

Как избежать разрушительных последствий инсульта: уроки семейного опыта.

Введение Инсульт — это неотложная медицинская помощь, которая может случиться с кем угодно в любое время. Это происходит, когда приток крови к части мозга нарушается, что приводит к внезапной потере функции мозга.

Related posts

Сетевое телевидение Твиттер

Сетевое телевидение Твиттер

То, что было старым, теперь снова новое, а то, что раньше было блестящим, теперь кажется скучным. Я не говорю о джинсах JNCO, которые вернулись среди крутых парней в центре города вместе с другими моделями конца 1990-х годов.

Революция на рабочем месте: ведущие эксперты обсуждают гибридную и удаленную работу

Революция на рабочем месте: ведущие эксперты обсуждают гибридную и удаленную работу

В сегодняшнем быстро развивающемся бизнес-ландшафте концепция гибридной и удаленной работы приобрела беспрецедентный импульс. Поскольку компании продолжают приспосабливаться к меняющимся потребностям и ожиданиям своих сотрудников, эксперты из разных областей собрались вместе, чтобы обсудить преимущества, проблемы и будущее этого преобразующего способа работы.

Почему некоторые фрилансеры притворяются своей жизнью

Почему некоторые фрилансеры притворяются своей жизнью

Недавно я был в Linkedin, крупнейшей в мире профессиональной социальной сети, и нашел посты дизайнеров-фрилансеров, за которыми я следил и которые привлекли мое внимание. Все они публиковали фотографии из самолетов, на пляже со своими ноутбуками, из бассейнов и офисов с потрясающими видами.

Сольное выступление рыжеволосой девушки

По заданию Хайдена Кэти снимает, как она мастурбирует.

Сольное выступление рыжеволосой девушки

Было уже за полночь, когда Хейден отвез Кэти обратно в общежитие колледжа после их совместного вечера. У нее был ранний урок утром, и у нее не было другой смены одежды после того, как она осталась с ним прошлой ночью.