Добавляем...


  Правила преобразования для примитивных типов данных
Правила преобразования для примитивных типов данных приведены в табл. Благодаря этим таблицам вы поймете, что на самом деле происходит в примерах, подобных следующему:

var х = "false"; // строка
if (х)
{ alert("Данное значение х считается равным true");
}

Поскольку любая строка, кроме пустой (" "), конвертируется в булево значение true, соответствующее условие оказывается выполненным и пользователь увидит указанное сообщение.

Результаты преобразования к значению типа Boolean
Тип Конвертируется в булево значение
Неопределенный (Undefined) False
Пустой (Null) False
Числовой (Number) False, если это 0 или NaN, иначе true
Строковый (String) False, если это длина строки равна 0, иначе true
Другие объекты True

Результаты преобразования к значению типа Number
Тип Конвертируется в числовое значение
Неопределенный (Undefined) NaN
Пустой (Null) 0
Логический (Boolean) 1,если это true, 0, если это false
Строковый (String) Соответствующее числовое значение, если строка похожа на число, иначе NaN
Другие объекты NaN

Результаты преобразования к значению типа String
Тип Конвертируется в строку
Неопределенный (Undefined) "undefined"
Пустой (Null) "null"
Логический (Boolean) "true", если это true, " f а 1 se ", если это false
Числовой (Number) "NaN", " 0 " или строка, представляющая соответствующее числовое значение
Другие объекты Значение, возвращаемое объектом с помощью метода toStr ing (), если таковой имеется, иначе "undefined"

    Эти правила преобразования типов означают, что сравнения вида

1 == true
0 == ""

возвращают true. Но иногда не нужно, чтобы при проверке тождественности происходило преобразование типов, и для этого в JavaScript имеется оператор строгого тождества (===). Этот оператор сравнения возвращает true только в том случае, если два операнда равны и имеют один и тот же тип. Так что, например, следующие сравнения должны возвратить false:

1 === true
О === ""
О === "О"

    Для большинства операторов интерпретатор JavaScript определяет требуемый тип вполне естественным образом и поэтому для большинства разработчиков пояснений здесь не понадобится. Например, при выполнении арифметических операций данные преобразуются в числовой тип, а затем выполняются вычисления.     Одно важное исключение касается знака операции +. Знак + обозначает сложение чисел, но он также используется для обозначения конкатенации строк. Ввиду того что конкатенация строк имеет более высокий приоритет по сравнению со сложением чисел, знак + будет интерпретирован, как конкатенация, если хотя бы один из операндов является строковым. Например, оба оператора

х = "2" + "3";
х = "2" + 3;

приведут к одному результату: переменной х будет присвоено строковое значение "23". Перед тем как будет выполнена конкатенация, число 3 во втором операторе автоматически преобразуется в строку.


добавить комментарий
(без перезагрузки и регистрации)


10 случайных разделов

Что ищем на сайте ?


Примеры кода на сайте







@ 2008-2011 Amber
При использовании материалов ссылка на сайт обязательна
Яндекс.Метрика