hellojs.ru
Главная - Основы JavaScript - Динамическая типизация в JS

Динамическая типизация в JS

Размещено в категории "Основы JavaScript"
27.09.2024 / просмотров: 37 / комментариев: 0
Ресурсы:

Табличка "Типы данных"
cssText
Матрица сравнений




Динамическая типизация - это возможность одного типа данных превращаться в другой. Например, число может стать строкой, строка - числом, объект - булиновым значением и т.д
Код

console.log(typeof(String(null))); // string
console.log(String(null)); // => 'null'
console.log(String(4)); // => '4'

В примере выше null стал строкой, то есть: 'null'.

Рассмотрим примеры с конкатенацией: при сложении чего-то со строкой получается строка.
Код

console.log(typeof(5 + '')); // string

Рассмотрим пример реального применения динамической типизации:
Код

const num = 5;

console.log("https://vk.com/catalog/" + num); // https://vk.com/catalog/5

const fontSize = 26 + 'px'; // 26px

Превращаем что-то в число
Код

console.log(typeof(Number('2'))); // number
console.log(typeof(+'2')); // number

console.log(typeof(parseInt('15px', 10))); // number
console.log(parseInt('15px', 10)); // 15

let answer = +prompt('Сколько Вам лет?', '');

То, что всегда будет неправдой (false):
Цитата

0, '', undefined, NaN, null

Пример с переключателем, код ниже не выполнится, поскольку значение переменной switcher в контексте будет false
Код

let switcher = null;

if (switcher) {
  console.log('Working...');
}

Но если далее, к примеру, значение переменной switcher примет значение 1, то код выполнится, поскольку 1 в контексте будет true.
Код

console.log(typeof(Boolean('4'))); // boolean

console.log(typeof(!!"4")); // boolean  
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
Сайт управляется системой uCoz