Введите ваш адрес почты


sdcvoy.ru
Понравился сайт? Поделись с друзьями!
Главная » Javascript » Preobrazovanie-tipov-dlya-primitivnyx-znachenij

Преобразование типов для примитивных значений

Если вы читали предыдущие уроки, то можно сказать, что вы уже сталкивались с преобразованиями. Всего в JavaScript существует три типа преобразований:

Давайте рассмотрим подробнее каждое из них и вы увидите что преобразовывать один тип в другой не так-то и сложно. В данном уроке мы рассмотрим преобразование только для примитивных значений.

Строковое преобразование

Данное преобразование можно задать с помощью вызова String(value):

var a=String(123)+34;
alert ( a ); // выведет 12334

Почему так произошло? Помните из предыдущих уроков, что если один из числовых аргументов является строкой, то бинарный плюс преобразует другой аргумент тоже в строку (одно из свойств бинарного плюса).

Численное преобразование

Численное преобразование можно задать с помощью вызова Number(value):

alert( Number(false) ); // выведет 0
alert( Number(undefined) ); // выведет NaN
alert( Number("123")+27 ); // выведет 150

В последней строчке строка «123» преобразовывается сначала в число 123, а потом с помощью бинарного плюса считаются уже не строки, а числа. Если помните в предыдущих уроках я рассказывал, что преобразование строки в число может осуществляться также с помощью унарного плюса:

var a=78, b='35', c=Number("123"), d=true;
var sum=a + +b + c + +d;
if (sum>0) {
alert( sum ); // выведет число 237
alert(typeof sum); // выведет тип переменной 
}

Думаю здесь вам должно быть всё понятно, единственное надо отметить, что выражение +true даёт значение 1 (аналогично +false==0; //true)

Логическое преобразование

Логическое преобразование можно задать в явном виде с помощью вызова Boolean(value) или с помощью двойного восклицательного знака !!, а также если помните с помощью условного оператора if:

var a=!!0, b=!!1, c=!!" ";
alert(typeof b); // тип переменной
alert( a && b ); // выведет false
alert( a || c ); // выведет true
if (c>a) {
var sum=Number(a+b+c); // преобразовываем логическое выражение в число
alert ( sum ); // выведет 2
}

В данном примере я использовал также логические операторы &&, || их мы рассматривали в предыдущем уроке. Если что-то осталось непонятно задавайте вопросы, постараемся вместе найти на них ответы.



наверх