Типы данных JavaScript

Рубрика: Javascript
7 апреля 2015

Здравствуйте уважаемые читатели! Любая программа, на каком бы языке она была написана, оперирует некоторыми данными: стоимость товара, температура воздуха, имя стилевого класса, цвет шрифта. Не составляют исключения и web-сценарии написанные на языке javascript. Причем javascript может работать с данными относящимся к разным типам. Сегодня и поговорим об этих типах данных.

 Получая данные из реального мира человек не задумываясь делит их на различные группы: цифры, буквы, звуки. Также и javascript разделяет данные на типы. Причем тип данных описывает их возможные значения и набор применимых к ним операций.

Типы данных в javascript можно разделить на две категории: простые типы и составные. К простым типам относятся:

  • string — текстовые данные, например название города или чье-то имя;
  • number — числовые данные, например возраст или количество предметов;
  • boolean — логические данные, могут принимать только два значения true или false.

К простым типам также относятся два специальных значения:

  • null;
  • undefined.

К составным типам относятся более сложные данные:

  • array — массивы;
  • object — объекты;
  • function — функции.

Далее поговорим о простых типах подробнее.

Строки в javascript или тип данных String

 Строковые данные — это последовательности букв, цифр, знаков препинания, пробелов и других символов заключенные в одинарные или двойные кавычки. Причем строки заключенные в двойные кавычки могут содержать одинарные кавычки и наоборот. Примеры строк:

«это текстовая строка»
'1234567890'

Кроме букв, цифр и знаков препинания строки могут содержать специальные символы:

\f прогон листа
\n перевод строки
\r возврат каретки
\t табуляция

 Кроме того, для того чтобы в строке заключенной в двойные кавычки можно было использовать двойные кавычки, нужно их экранировать с помощью обратного слэша (\). Тоже самое касается и одинарных кавычек:

var str = «строка в которой используются \»двойные\" кавычки"
var str = 'строка в которой используются \'одинарные\' кавычки'

Каждый символ в строке имеет свой номер. Нумерация символов в строке начинается с нуля. Так первый символ в строке находится под индексом 0, второй под индексом 1 и так далее. Чтобы обратиться к отдельным символам в строке к названию переменной содержащей строку необходимо приписать номер символа заключенный в квадратные скобки:

var str = «строка»;
alert (str[1]);

Чтобы узнать количество символов в строке используется свойство строки length:

var str = «строка»;
alert (str.length);

Одна из самых частых операций выполняемых над строками при написании javascript-сценариев это объединение строк или конкатенация. Для объединения двух и более строк в javascript применяется оператор + (плюс). При конкатенации каждая последующая строка добавляется в конец предыдущей:

var str1 = "Привет ";
var str2 = «мир»;
alert (str1 + str2 + «!»);

Числа в javascript или тип данных Number

 Числовые данные — это обычные числа, над которыми можно производить различные арифметические действия. Для разделения дробной и целой части используется точка (.):

5
19
6.5

Все числа в javascript представляются в виде вещественных значений (с плавающей точкой). Для представления чисел используется 64-битный формат, который способен представлять числа в диапазоне от 5e-324 до 1.7976931348623157e+308.

Для представления отрицательных значений перед числовым литералом ставится знак минус (-):

var t = -12.5

Числа могут быть представлены в экспоненциальной форме:

<мантиса>e<порядок>

Таким образом, например, число 450000 можно записать как 4.5*105. Тогда в экспоненциальной форме это число может быть представлено так:

var number = 4.5e5

Также имеется возможность записывать целые числа в восьмеричном и шестнадцатеричном формате. Восьмеричные числа записываются с нулем в начале (например, 033 или -012345), а шестнадцатеричные — с символами 0x в начале (например, 0x21F). Еще  раз отмечу, что в JavaScript так можно записывать только целые числа. 

Специальные числовые значения NaN и Infinity в JavaScript

 В JavaScript определено несколько специальных числовых значений. Когда вещественное число превышает самое большое представимое значение, результату присваивается специальное значение бесконечности Infinity. Если отрицательное число меньше наименьшего представимого, результатом становиться отрицательная бесконечность или -Infinity.

Значение бесконечности можно получить при делении числа на 0:

alert (321/0); //Infinity

Если математическая операция (например деление нуля на ноль) приводит к неопределенному результату или ошибке, то в этом случае возвращается специальное значение «нечисло», обозначаемое NaN. Особенностью NaN является то, что оно не равно никакому другому числу, в том числе и самому себе! Поэтому нельзя использовать проверку x == NaN, чтобы определить, является ли значение переменной x значением NaN. Для проверки на данное значение в JavaScript есть специальная функция isNaN(), которая возвращает значение true, если аргумент имеет значение NaN или является нечисловым значением (строка, объект и др.).

Кроме Infinity и NaN в языке javascript имеются еще несколько числовых констант:

  • Number.MAX_VALUE — Максимальное представимое значение;
  • Number.MIN_VALUE — Наименьшее (ближайшее к нулю) представимое значение;
  • Number.POSITIVE_INFINITY — Специальное значение, обозначающее плюс бесконечность;
  • Number.NEGATIVE_INFINITY — Специальное значение, обозначающее минус бесконечность.

Логический тип данных

Логический тип данных может принимать только два значения: true или false — «истина» или «ложь». Эти два значения обозначаются ключевыми словами true и false соответственно. Логические значения обычно используются в управляющих конструкциях. Например, конструкция if/else выполняет одно действие если логическое выражение возвращает значение true и другое действие, если false.

var x = 5;
if (x == 5)
alert («x равно 5»);
else
alert («x не равно 5»);

Любое значение любого типа данных может быть преобразовано в булево значение. Причем только шесть значений в результате преобразования дают значение false:

  • undefined
  • null
  • 0
  • -0
  • NaN
  • "" — пустая строка

Все остальные значения в результате преобразования дают значение true.

Специальные значения null и undefined

Кроме строк, чисел и булевых типов в JavaScript имеется еще два специальных типа: null и undefined.

Считается, что значение null имеет объектный тип и оно говорит об отсутствии объекта. То есть если переменная равна null, то в ней не содержится допустимого объекта, массива, числа, строки или логического значения. При преобразовании в число значение null становиться 0, при преобразовании в строку — строкой "null" и в логическом контексте принимает значение false.

Другое специальное значение undefined означает, что переменной никогда не было присвоено какое-либо значение. То есть если объявить пременную, например x, и вызвать метод alert(x), то на экране появиться окно сообщения со значением undefined:

var x;
alert (x);

Когда значение undefined преобразуется в логический тип, оно преобразуется в значение false. При преобразовании в числовой тип – в значение NaN, а в строковой – в строку "undefined".

В JavaScript есть еще и сложные типы данных, но их мы рассмотрим в следующих статьях. На этом все! До новых встреч!

Получай статьи почтой:

Похожие статьи:


Оставить комментарий




Подписаться, не комментируя -