// В JS есть автоматическая конвертация типов.
console.log(5 + "5"); // 55. Если один из операндов строка, то мы преобразуем в строку второй операнд
console.log(typeof(5 + "5")); // string
console.log("5" * "4"); // умножение преобразует любые значения в числа
console.log(typeof("5" * "4")); // number
console.log("5" * "hi"); // NaN Если выполнить такое преобразование невозможно
console.log(typeof("5" * "hi")); // number
// Автоматическое преобразование происходит, когда мы используем сравнение не равенство.
console.log("5" == 5); // true
console.log("0" == false); // true
console.log(Boolean("0")); // true
console.log(0 == false); // true
console.log("5" == true); // false
console.log("" == false); // true
console.log(null == false); // false
console.log(null == true); // false
console.log(undefined == false); // false
console.log(undefined == true); // false
console.log(undefined == null); // true
// Возможны и явные преобразования
console.log(Number("555")); // Number переводит данные в числовой тип
console.log(typeof(Number("555"))); // number
// String переводит любое значение в строковый тип
console.log(String(4433));
console.log(typeof(String(4433))); // string
// Конструктор Boolean используется для перевода в булев тип.
console.log(Boolean(1)); // true
// Для преобразования числа в логический тип можно использовать такую запись.
console.log(!!5); // true
console.log(!!0); // false
// Быстро преобразовать значение в строку можно таким образом:
console.log(typeof(345 + "")); // string
// Для преобразования значения в число можно использовать оператор +
console.log(+"454");
console.log(typeof(+"454")); // number
// Преобразовть число в строку можно методом toString()
var number = 22;
console.log(number.toString()); // 22
console.log(typeof number.toString()); // string
number = 45;
// в качестве аргумента мы можем передать систему счисления, в которой мы хотим вывести исходное число
console.log(number.toString(3)); // 1200
number = 5;
console.log(number.toString(2)); // 101
// Этот метод также есть у объекта boolean
console.log(false.toString()); // false
console.log(typeof false.toString()); // string
// ФУНКЦИИ ДЛЯ ПРЕОБРАЗОВАНИЯ ЧИСЛО В СТРОКУ
console.log(parseInt("45 px")); // 45 любые символы игнорирются
console.log(parseInt("45 px", 10)); // может принимать вторым параметом систему счисления
console.log(parseFloat("12.45 em")); // 12.45 парсит вещественные числа
// Какие значения можно получть в результате различных преобразований
console.log(String(Infinity)); // Infinity
console.log(typeof String(Infinity)); // string
console.log(String(NaN)); // NaN
console.log(typeof String(NaN)); // string
// Пустая строка при преобразовании в число становится 0
console.log(+""); // 0
// Любые значения, кроме этих при преобразовании в логичский тип вернут истину
console.log(!!""); // false
console.log(!!NaN); // false
console.log(!!0); // false
console.log(!!null); // false
console.log(!!undefined); // false
console.log(!!"hi"); // true
console.log(+" 4"); // 4 пробелы до числа игнорируются
console.log(+" 4 g"); // NaN. Здеь нужно использовать parseInt или parseFloat
console.log(parseInt("4 px")); // 4
// Булевы значения также можно преобразовать в числа
console.log(+true); // 1
console.log(+false); // 0
// ПРЕОБРАЗОВАНИЕ В ОБЪЕКТЫ
var n = 5;
console.log(n.value); // undefined
n = "hello";
console.log(n.value); // undefined
// n = null;
// console.log(n.value); // TypeError: n is null
// Лучше не использовать == Рекомендуется использовать ===
console.log(5 + "5"); // 55. Если один из операндов строка, то мы преобразуем в строку второй операнд
console.log(typeof(5 + "5")); // string
console.log("5" * "4"); // умножение преобразует любые значения в числа
console.log(typeof("5" * "4")); // number
console.log("5" * "hi"); // NaN Если выполнить такое преобразование невозможно
console.log(typeof("5" * "hi")); // number
// Автоматическое преобразование происходит, когда мы используем сравнение не равенство.
console.log("5" == 5); // true
console.log("0" == false); // true
console.log(Boolean("0")); // true
console.log(0 == false); // true
console.log("5" == true); // false
console.log("" == false); // true
console.log(null == false); // false
console.log(null == true); // false
console.log(undefined == false); // false
console.log(undefined == true); // false
console.log(undefined == null); // true
// Возможны и явные преобразования
console.log(Number("555")); // Number переводит данные в числовой тип
console.log(typeof(Number("555"))); // number
// String переводит любое значение в строковый тип
console.log(String(4433));
console.log(typeof(String(4433))); // string
// Конструктор Boolean используется для перевода в булев тип.
console.log(Boolean(1)); // true
// Для преобразования числа в логический тип можно использовать такую запись.
console.log(!!5); // true
console.log(!!0); // false
// Быстро преобразовать значение в строку можно таким образом:
console.log(typeof(345 + "")); // string
// Для преобразования значения в число можно использовать оператор +
console.log(+"454");
console.log(typeof(+"454")); // number
// Преобразовть число в строку можно методом toString()
var number = 22;
console.log(number.toString()); // 22
console.log(typeof number.toString()); // string
number = 45;
// в качестве аргумента мы можем передать систему счисления, в которой мы хотим вывести исходное число
console.log(number.toString(3)); // 1200
number = 5;
console.log(number.toString(2)); // 101
// Этот метод также есть у объекта boolean
console.log(false.toString()); // false
console.log(typeof false.toString()); // string
// ФУНКЦИИ ДЛЯ ПРЕОБРАЗОВАНИЯ ЧИСЛО В СТРОКУ
console.log(parseInt("45 px")); // 45 любые символы игнорирются
console.log(parseInt("45 px", 10)); // может принимать вторым параметом систему счисления
console.log(parseFloat("12.45 em")); // 12.45 парсит вещественные числа
// Какие значения можно получть в результате различных преобразований
console.log(String(Infinity)); // Infinity
console.log(typeof String(Infinity)); // string
console.log(String(NaN)); // NaN
console.log(typeof String(NaN)); // string
// Пустая строка при преобразовании в число становится 0
console.log(+""); // 0
// Любые значения, кроме этих при преобразовании в логичский тип вернут истину
console.log(!!""); // false
console.log(!!NaN); // false
console.log(!!0); // false
console.log(!!null); // false
console.log(!!undefined); // false
console.log(!!"hi"); // true
console.log(+" 4"); // 4 пробелы до числа игнорируются
console.log(+" 4 g"); // NaN. Здеь нужно использовать parseInt или parseFloat
console.log(parseInt("4 px")); // 4
// Булевы значения также можно преобразовать в числа
console.log(+true); // 1
console.log(+false); // 0
// ПРЕОБРАЗОВАНИЕ В ОБЪЕКТЫ
var n = 5;
console.log(n.value); // undefined
n = "hello";
console.log(n.value); // undefined
// n = null;
// console.log(n.value); // TypeError: n is null
// Лучше не использовать == Рекомендуется использовать ===
Комментариев нет:
Отправить комментарий