dr.Brain

doctor Brain

мир глазами веб-разработчика

Преобразование типов

шпаргалка по преобразованию типов данных в JavaScript

dr.Brain

время чтения 4 мин.

Photo by Todd Trapani on Unsplash

Представляю вашему вниманию шпаргалку по преобразованию типов данных в JavaScript.

Содержание


Основные понятия

Преобразование типов может быть явным или неявным

value = Number('23') // явное преобразование
value = 5 + '25' // неявное преобразование

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

console.log(typeof value);

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

Число в строку

value = String(10); /* => '10' */
value = String(10 + 40); /* => '50' */
value = (10 + 40).toString(); /* => '50' */
value = new String(10 + 20); /* => '30' */

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

value = String(true); /* => 'true' */
value = String(false); /* => 'false' */

Массив в строку

value = String([1, 2, 3]); /* => '1,2,3' */
value = String([ ]); /* => '' */ 

Объект в строку

value = String({name: "Daniel"}); /* => [object Object] */

При объединении любого типа данных со строкой в результате неявного преобразования получается строка:

value = 30 + ' ' + 30; /* => 30 30 */ // Пробел считается символом.
value = 30 + '' + undefined; /* => 30undefined */

Математические операции преобразуют строку в ноль:

value = 30 - ''; /* => 30 */
value = 30 - 'text'; /* => NaN */ // если строка не пустая получаем NaN - ошибку вычисления.
value = 30 - '5'; /* => 25 */ // если строка содержит число, она будет приведена к числовому типу данных

Преобразование булевых значений

Логическое значение и математическая операция

В математических операциях true преобразуется в единицу, false - в ноль:

value = true + 5; /* => 6 */
value = false + 5; /* => 5 */

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

value = Boolean('hello'); /* => true */ // любая непустая строка равна true.
value = Boolean(' '); /* => true */ 
value = Boolean(''); /* => false */ // любая пустая строка равна false.

Число в булево значение

value = Boolean(-123); /* => true */ // любое число: положительное или отрицательное - равно true.
value = Boolean(123); /* => true */
value = Boolean(0); /* => false */ // 0 это false

undefined в булево значение

value = Boolean(undefined); /* => false */

NULL в булево значение

value = Boolean(null); /* => false */

Объект в булево значение

value = Boolean({}); /* => true */ // пустой объект тоже будет приводится к true

Массив в булево значение

value = Boolean([]); /* => true */ // пустой массив - тоже true.

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

Строка в число

value = Number('23'); /* => 23 */
value = Number('string...lalala'); /* => NaN */ 
value = parseInt(' 203px'); /* => 203 */ // функция parseInt считывает число из строки и удаляет все символы, следующие за числом, но, если символы идут перед числом (кроме пробела), вернется NaN function reads a number from a string and removes all characters after it, but if there are characters before the number (except for a space), then it will output NaN. Функция возвращает тоько целые числа.
value = parseFloat('203.212px'); /* => 203.212 */ // функция похожа на  parseInt, но возвращает числа с плавающей запятой

Булево значение в число

value = Number(true); /* => 1 */
value = Number(false); /* => 0 */

Null в число

value = Number(null); /* => 0 */

Массив в число

value = Number([1, 2, 3]); /* => NaN */ 

Преобразование Null

value = null + 5; /* => 5 */

Преобразование undefined

value = false + undefined; /* => NaN */

Спасибо за внимание.

Новые публикации

Далее

Категории

О нас

Frontend & Backend. Статьи, обзоры, заметки, код, уроки.