В прошлом уроке мы узнали об основных типах данных в Javascript, теперь рассмотрим как преобразовывать один тип данных в другой. Большинство операторов и функций в Javascript автоматически приводят переменные к нужному типу, например alert преобразует переменную любого типа, или результат выполнения выражения в строку, а математические операторы стараются привести входные данные к числовому типу.
Преобразование переменных в строки
Для явного преобразования переменной в строку можно использовать следующий синтаксис: String(value). При этом преобразование будет явным, что означает - null преобразуется в "null", false в "false"
Преобразование в числовые типы
В любых математических выражениях в Javascript сначала происходит попытка преобразовать переменные в числа, но мы можем выполнить преобразование явно с помощью Number(value). Результатом неудачного приведения строковой переменной к числовому типу будет значение NaN. Существуют следующие правила преобразования:
- null - будет преобразовано в значение 0
- undefined - преобразуется в NaN
- true - преобразуется в 1
- false - результатом будет 0
- String - отсекает пробельные символы и в случае пустой строки получаем 0, а в случае с непустой строкой без числового значения - NaN
В случае с операцией сложения, если одна из переменных является строкой - вторая переменная будет также преобразована в строку и выполнится конкатенация строк:
alert(1 + '2') // результатом будет строка со значением '12'
Преобразование в логический тип данных
Данное преобразование происходит в логических операциях или задается явно с помощью синтаксиса Boolean(value). В остальном соблюдаются следующие правила:
- Пустые значения вроде "", NaN, 0, undefined преобразуются в FALSE
- Все остальные значения становятся TRUE. Строка со значением "0" также преобразуется в TRUE!