Трансляция в JavaScript

Как преобразовать один тип данных в другой в JavaScript

Даже если JavaScript является слабо типизированным языком, у вас может возникнуть необходимость преобразовать значение из одного типа в другой.

В JavaScript у нас есть эти примитивные типы:

  • Number
  • String
  • Boolean
  • Symbol

и тип объекта:

  • Object

(плюсnullиundefined, а вот забрасывать с / на них смысла нет)

Например, вы можете преобразовать:

  • число в строку
  • строка к числу
  • строка в логическое значение
  • логическое значение в строку

…и так далее.

Вот методы, которые вы можете использовать для преобразования одного типа в другой. Я освещаю наиболее частые случаи.

Преобразование в строки

В общем, преобразование чего угодно в строку обычно сводится к вызовуtoString()для любого значения, и JavaScript создаст строковое значение, соответствующее этому типу. Или вы можете передать любое значение вString()глобальная функция.

Преобразование числа в строку

Используйте глобальную функцию String или тип NumbertoString()метод:

String(10) //"10"
(10).toString() //"10"

Преобразование логического значения в строку

Используйте глобальную функцию String или логический типtoString()метод:

String(true) //"true"
true.toString() //"true"
String(false) //"false"
false.toString() //"false"

Приведение от даты к строке

Используйте глобальную функцию String или тип DatetoString()метод:

String(new Date('2019-01-22'))
//"Tue Jan 22 2019 01:00:00 GMT+0100 (Central European Standard Time)"

(new Date('2019-01-22')).toString()
//"Tue Jan 22 2019 01:00:00 GMT+0100 (Central European Standard Time)"

Особые случаи со строкой

String(null) //"null"
String(undefined) //"undefined"
String(NaN) //"NaN"

Преобразование в числа

Преобразование строки в число

Мы можем сделать это, используяNumber()глобальная функция, которая является своего рода конструктором. Мы можем передать ему строку, и JavaScript выяснит, как преобразовать ее в число:

Number("1") //1
Number("0") //0

Перед преобразованием в числа строки обрезаются:

Number(" 1 ") //1

передача пустой строки по умолчанию равна 0:

Number("") //0

а для работы с десятичными знаками вы используете точку:

Number("12.2")

Если строка содержит недопустимые символы, она будет генерироватьNaN.

Это основы преобразования в числа, но я даю гораздо больше подробностей вкак преобразовать строку в число в JavaScript. Есть и другие способы генерировать числа из строки, включаяparseInt(),parseFloat(),Math.floor(), унарный+оператор.

Преобразование логического значения в число

Как и для строки, передавая логическое значениеNumber()вернет либо 0, либо 1:

Number(true) //1
Number(false) //0

Трансляция от даты к номеру

Если вы передадите объект Date вNumber(), он вернет метку даты и времени, что является лучшим преобразованием даты в числа, которое вы можете получить.

Особые случаи с номером

Number(null) //0
Number(undefined) //NaN
Number(NaN) //NaN

Преобразование в логические значения

Любое значение можно преобразовать в логическое, передав его вBoolean().

Все ценности разрешатсяtrueКроме:

Boolean(false) //false
Boolean(0) //false
Boolean(NaN) //false
Boolean("") //false
Boolean(null) //false
Boolean(undefined) //false

Скачать мою бесплатнуюРуководство для начинающих по JavaScript


Больше руководств по js: