DevGang
Авторизоваться

Памятка по преобразованию базовых типов в JavaScript 🔥 

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

value = Number('23') // explicit
value = 5 + '25' // implicit

Проверка типа значения

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 */ // Space is considered a symbol.
value = 30 + '' + undefined; /* => 30undefined */

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

value = 30 - ''; /* => 30 */ 
value = 30 - 'text'; /* => NaN */ // If the string is not empty, then we will get NaN - calculation error.
value = 30 - '5'; /* => 25 */ // If we write a number in a string, we will get a number type

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

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

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

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

value = Boolean('hello'); /* => true */ // Any non-empty string will be considered true.
value = Boolean(' '); /* => true */ 
value = Boolean(''); /* => false */ // An empty string will be considered false.

Число в логическое значение

value = Boolean(-123); /* => true */ // Any number, both positive and negative, will be considered true.
value = Boolean(123); /* => true */
value = Boolean(0); /* => false */ // Zero counts as false

undefined и null в логическое значение

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

Объект и массив в логическое значение

value = Boolean({}); /* => true */ // An empty object is considered true.
value = Boolean([]); /* => true */ // An empty array is considered true.

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

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

value = Number('23'); /* => 23 */
value = Number('string...lalala'); /* => NaN */ 
value = parseInt(' 203px'); /* => 203 */ //Функция parseInt считывает число из строки и удаляет все символы после него, но если перед числом есть символы (кроме пробела), то она выведет 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

Преобразуется в null в математической операции:

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

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

Преобразует в NaN в математической операции:

value = false + undefined; /* => NaN */
#JavaScript
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

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

Попробовать

В подарок 100$ на счет при регистрации

Получить