Типы данных в JavaScript
В JavaScript переменная может иметь один из 6 типов данных: Null, Undefined, Number, String, Boolean, Object. Первые 5 типов называются примитивными
.
Описание типов данных
Null
Данный тип имеет всего одно возможное значение - null. Оно означает, что переменная не имеет никакого значения (пустое значение). Это не одно и то же, что пустая строка или число ноль, так как пустая строка и ноль - это вполне определенные значения своих типов. null - это ничто
.
Undefined
Имеет всего одно возможное значение - undefined. Означает неопределенный
тип. Присваивается всем переменным при объявлении.
var result; alert(result); /* undefined */
Значение undefined напрямую обычно не присваивается, так как для пустого значения специально введено значение null.
Number
Числовой
тип данных. Объединяет в себе целые и вещественные числа. Дополнительно в этот тип данных введены специальные значения:
+Infinity(илиInfinity) - положительная бесконечность.-Infinity- отрицательная бесконечность.NaN-не число
(Not-A-Number). Является результатом при ошибке вычислений.
alert(-1/0); /* -Infinity */
alert('one' * 2); /* NaN, так как 'one' не числовой тип */
Если число начинается с
или 0x
, то JavaScript считает, что число указано в шестнадцатеричной системе счисления:0X
alert(0xFF); // 255
Если число начинается с
, то JavaScript считает, что число указано в восьмеричной системе счисления:0
alert(010); // 8
Число можно указать в экспоненциальной форме:
alert(1e 5); // 100000
String
Строковый
тип данных. Строка должна быть заключена в кавычки (одинарные или двойные).
str1 = "Строка 1"; str2 = 'Строка 2';
Каждый символ имеет свою позицию в строке. Первый символ имеет позицию 0, второй - позицию 1, третий - позицию 2, и т.д.
Чтобы использовать внутри строки служебный символ, его необходимо экранировать, то есть добавить перед ним обратный слеш
.\
str = 'Одинарные \'кавычки\' и обратный слеш \\'; alert(str); /* Одинарные 'кавычки' и обратный слеш \ */
Символы, перед которыми установлен обратный слеш, не воспринимаются как служебные, а являются частью строки. Сам символ
тоже является служебным и должен экранироваться.\
Обратный слеш также используется для представления специальных символов строки:
\n- перевод строки.\t- символ табуляции.\uHEX- представление любого символа, гдеHEX- шестнадцатеричный код символа в кодировке Unicode.
Boolean
Булевый
(логический) тип данных. Имеет два возможных значения - true (истина) и false (ложь). Используется для логических вычислений.
Object
Объект не является примитивным типом данных. Это элемент с набором свойств и методов. В нем могут использоваться различные примитивные типы и сложные конструкции. Пример простого объекта:
var address = {
city: 'Астрахань',
street: 'Заречная',
house: 101
};
Создан объект address со свойствами city, street и house.
Преобразование типов
Любое значение может быть преобразовано в числовой
, строковый
или булевый
тип.
Правила преобразования примитивов в числовой
тип:
- Числа остаются числами.
- Строки преобразуются в числа, если это возможно. Если нет, тогда значение
NaN. Булевые
значения:trueпреобразуется в1,falseв0.nullпреобразуется в0.undefinedпреобразуется вNaN.
Преобразование примитивов в строковый
тип происходит без изменений. Все ключевые слова и числа становятся строками того же содержания.
При преобразовании в логический тип данных пустая строка '