Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / JavaScript /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Типы данных - Программирование от RIN.RU
Типы данных


Описание типов данных


Язык JavaScript содержит шесть типов данных: Undefined (неопределенный), Null (нулевой), Boolean (логический), String (строковый), Number (числовый) и Object (объектный). Это относительно небольшое количество типов позволяет, тем не менее, создавать полноценные сценарии для выполнения многих функций.


Тип Undefined (неопределенный)
Этот тип состоит из единственного значения undefined. Это значение, которое принимает переменная, которая объявлена в программе, но которой еще не присвоено никакого значения.


Тип Null (нулевой)
Этот тип состоит из единственного значения null. Это значение означает нулевую, пустую или несуществующую ссылку.


Тип Boolean (логический)
Этот тип состоит ровно из двух логических значений: true (истина) и false (ложь).


Тип String (строковый)
Этот тип состоит из всех возможных текстовых строк. Каждая строка представляет собой упорядоченный массив из нуля или более символов Unicode (т. е. 16-битовых целых чисел без знака), называемых элементами строки. Элементы строки нумеруются, начиная с нуля. Длина строки - это количество элементов в ней; пустая строка состоит из нуля элементов.


Тип Number (числовой)
Этот тип имеет ровно 18437736874454810627 (т. е. 264 - 253 + 3) значений, соответствующих 64-битовому формату плавающих чисел двойной точности IEEE 754 с тем единственным исключением, что 9007199254740990 (т. е. 253 - 2) различных значений "Не число" данного формата представляются в JavaScript одним значением NaN.


Еще два специальных значения - это положительная бесконечность и отрицательная бесконечность, которым в JavaScript соответствуют выражения +Infinity (или просто Inifinity) и -Infinity. Отметим также, что в данном формате различаются положительный нуль (+0 или 0) и отрицательный нуль (-0).


Тип Object (объектный)
Значением этого типа являются объекты. Объект - это неупорядоченный набор свойств, который подробно описан в этом разделе.


Преобразование типов


JavaScript - слаботипизированный язык. Это означает, что в декларации переменной мы не указываем ее тип и в дальнейшем можем присваивать ей значения любых типов. Исполняющая система JavaScript сама выполняет автоматическое преобразование типов данных по мере необходимости. Для явного преобразования типов используются методы Boolean, Number, Object и String.


Преобразования типов происходят по следующим правилам.


Преобразование к логическому типу


Исходный типРезультат
Undefinedfalse
Nullfalse
Booleanбез изменений
Numberfalse, если аргумент равен +0, -0 или NaN; true в остальных случаях
Stringfalse, если аргумент - пустая строка; true в остальных случаях
Objecttrue



Преобразование к числовому типу


Исходный типРезультат
UndefinedNaN
Null+0
Boolean1, если аргумент равен true, и 0, если аргумент равен false
Numberбез изменений
Stringесли строка содержит правильное число (возможно с пробелами перед и/или после него), то это число; NaN в противном случае
Objectрезультат преобразования значения объекта по умолчанию



Преобразование к строковому типу


Исходный типРезультат
Undefined"undefined"
Null"null"
Boolean"true", если аргумент равен true, и "false", если аргумент равен false
Numberтекстовое представление числа (см. ниже)
Stringбез изменений
Objectрезультат преобразования значения объекта по умолчанию



Преобразование числа n в строку происходит по следующим правилам:


  • если n равно NaN, то результат "NaN";

  • если n равно +0 или -0, то результат "0";

  • если n отрицательно, то результат будет конкатенацией строки "-" и результата преобразования в строку числа -n;

  • если n равно бесконечности, то результат "Infinity";

  • в остальных случаях пусть m, k и s - такие целые числа, что k >= 1, 10k-1 <= s < 10k, n равно s x 10m-k и k - наименьшее из возможных. Отметим, что k - это количество цифр в десятичном представлении s, что s не делится на 10 и что наименее значимая цифра s может не быть однозначно определенной. Тогда

  • если k <= m <= 21, то результат состоит из k десятичных цифр s (без ведущих нулей), за которыми следуют m-k символов "0";

  • иначе, если 0 < m <= 21, то результат состоит из m старших десятичных цифр s, за которыми следуют десятичная точка "." и k-m оставшихся десятичных цифр s;

  • иначе, если -6 < m <= 0, то результат состоит из символа "0", за которым следуют десятичная точка ".", -m символов "0" и k десятичных цифр s;

  • иначе, если k = 1, то результат состоит из единственной цифры s, символа "e", символа плюс "+" или минус "-" в зависимости от того, положительно или отрицательно m-1, за которыми следует десятичное представление числа abs(m-1);

  • иначе результат состоит из старшей десятичной цифры s, за которой следуют десятичная точка "." и k-1 оставшихся десятичных цифр s, символ "e", символ плюс "+" или минус "-" в зависимости от того, положительно или отрицательно m-1, за которыми следует десятичное представление числа abs(m-1).




Преобразование к объектному типу


Исходный типРезультат
Undefinedгенерируется исключение TypeError
Nullгенерируется исключение
Booleanновый логический объект с данным значением по умолчанию
Numberновый числовой объект с данным значением по умолчанию
Stringновый строковый объект с данным значением по умолчанию
Objectбез изменений



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


В выражениях, соединяющих числовые и строковые значения операцией +, JavaScript преобразует числа в строки, например:


x = "Ответ равен " + 21 // возвращает "Ответ равен 21"
y = 21 + " - вот ответ" // возвращает "21 - вот ответ"


В остальных случаях JavaScript пытается преобразовать строку в число, например:


a = "21" - 1 // возвращает 20
b = "21" + 1 // возвращает 211



 8  Комментарии к статье  8  Обсудить в форуме  8  Обсудить в чате

8  В тему

Основные понятия

Выражения и операции

Регулярные выражения

Операторы и функции

Использование объектов

Примитивные встроенные объекты

Строки: встроенный объект String

Массивы: встроенный объект Array

Дата и время: встроенный объект Date

Встроенные объекты Error, Math и RegExp

Дополнительные возможности JScript

Исполняющая система JScript

Исполняющая система JScript (продолжение)

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь
вакуумные пакеты от вакумпак-м