В этом посте мы рассмотрим 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(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
Это все, что я хотел рассказать о преобразованиях строк. Спасибо за прочтение.
Когда вы делаете запрос на facebook.com, ваш компьютер ищет доменное имя, чтобы преобразовать это доменное имя в IP-адрес, чтобы ваш компьютер мог установить это соединение.
Введение Инсульт — это неотложная медицинская помощь, которая может случиться с кем угодно в любое время. Это происходит, когда приток крови к части мозга нарушается, что приводит к внезапной потере функции мозга.
То, что было старым, теперь снова новое, а то, что раньше было блестящим, теперь кажется скучным. Я не говорю о джинсах JNCO, которые вернулись среди крутых парней в центре города вместе с другими моделями конца 1990-х годов.
В сегодняшнем быстро развивающемся бизнес-ландшафте концепция гибридной и удаленной работы приобрела беспрецедентный импульс. Поскольку компании продолжают приспосабливаться к меняющимся потребностям и ожиданиям своих сотрудников, эксперты из разных областей собрались вместе, чтобы обсудить преимущества, проблемы и будущее этого преобразующего способа работы.
Недавно я был в Linkedin, крупнейшей в мире профессиональной социальной сети, и нашел посты дизайнеров-фрилансеров, за которыми я следил и которые привлекли мое внимание. Все они публиковали фотографии из самолетов, на пляже со своими ноутбуками, из бассейнов и офисов с потрясающими видами.
Было уже за полночь, когда Хейден отвез Кэти обратно в общежитие колледжа после их совместного вечера. У нее был ранний урок утром, и у нее не было другой смены одежды после того, как она осталась с ним прошлой ночью.