Ресурсы: Табличка "Типы данных" 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
Добавлять комментарии могут только зарегистрированные пользователи.