Глава 3.3. Типы данных3.3.1. Описание типов данныхЯзык JavaScript содержит шесть типов данных: Undefined (неопределенный), Null (нулевой), Boolean (логический), String (строковый), Number (числовый) и Object (объектный). Это относительно небольшое количество типов позволяет, тем не менее, создавать полноценные сценарии для выполнения многих функций. 3.3.1.1. Тип Undefined (неопределенный)Этот тип состоит из единственного значения undefined. Это значение, которое принимает переменная, которая объявлена в программе, но которой еще не присвоено никакого значения. 3.3.1.2. Тип Null (нулевой)Этот тип состоит из единственного значения null. Это значение означает нулевую, пустую или несуществующую ссылку. 3.3.1.3. Тип Boolean (логический)Этот тип состоит ровно из двух логических значений: true (истина) и false (ложь). 3.3.1.4. Тип String (строковый)Этот тип состоит из всех возможных текстовых строк. Каждая строка представляет собой упорядоченный массив из нуля или более символов Unicode (т. е. 16-битовых целых чисел без знака), называемых элементами строки. Элементы строки нумеруются, начиная с нуля. Длина строки это количество элементов в ней; пустая строка состоит из нуля элементов. 3.3.1.5. Тип Number (числовой)Этот тип имеет ровно 18437736874454810627 (т. е. 264 - 253 + 3) значений, соответствующих 64-битовому формату плавающих чисел двойной точности IEEE 754 с тем единственным исключением, что 9007199254740990 (т. е. 253 - 2) различных значений "Не число" данного формата представляются в JavaScript одним значением NaN. Еще два специальных значения это положительная бесконечность и отрицательная бесконечность, которым в JavaScript соответствуют выражения +Infinity (или просто Inifinity) и -Infinity. Отметим также, что в данном формате различаются положительный нуль (+0 или 0) и отрицательный нуль (-0). 3.3.1.6. Тип Object (объектный)Значением этого типа являются объекты. Объект это неупорядоченный набор свойств, который подробно описан в разделе 3.7.1. 3.3.2. Преобразование типовJavaScript слаботипизированный язык. Это означает, что в декларации переменной мы не указываем ее тип и в дальнейшем можем присваивать ей значения любых типов. Исполняющая система JavaScript сама выполняет автоматическое преобразование типов данных по мере необходимости. Для явного преобразования типов используются методы Boolean, Number, Object и String. Преобразования типов происходят по следующим правилам. 3.3.2.1. Преобразование к логическому типу
3.3.2.2. Преобразование к числовому типу
3.3.2.3. Преобразование к строковому типу
Преобразование числа n в строку происходит по следующим правилам:
3.3.2.4. Преобразование к объектному типу
3.3.2.5. Примеры неявных преобразованийВ выражениях, соединяющих числовые и строковые значения операцией +, JavaScript преобразует числа в строки, например: x = "Ответ равен " + 21 // возвращает "Ответ равен 21" y = 21 + " - вот ответ" // возвращает "21 - вот ответ" В остальных случаях JavaScript пытается преобразовать строку в число, например: a = "21" - 1 // возвращает 20 b = "21" + 1 // возвращает 211 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||