JavaScript Типы данных


Примитивные типы (базовые типы): String, Number, Boolean, Null, Undefined, Symbol.

Ссылочные типы данных (объектные типы): Object, Array, Function, а также два специальных объекта: RegExp и Date.

Примечание:Symbol — это новый примитивный тип данных, введённый в ES6, представляющий собой уникальное значение.


JavaScript имеет динамические типы

JavaScript имеет динамические типы. Это означает, что одна и та же переменная может использоваться как разные типы:

Пример

var x; // x имеет значение undefined
var x = 5; // теперь x — это Number
var x = "John"; // теперь x — это String

Тип данных переменной можно проверить с помощью оператораtypeof:

Пример

typeof "John"                // возвращает string
typeof 3.14                  // возвращает number
typeof false                 // возвращает логическое значение
typeof [1,2,3,4]             // возвращает объект
typeof {name:'John', age:34} // возвращает объект

Попробуйте сами »

typeof [1,2,3,4] возвращает "object", что является "изъяном" в раннем дизайне JavaScript; массивы по сути являются особым типом объекта.

Правильный способ определить массив:

Array.isArray([1,2,3]); // true
[1,2,3] instanceof Array; // true


Строки JavaScript

Строки — это переменные, которые хранят символы (например, "Bill Gates").

Строки могут содержать любой текст внутри кавычек. Вы можете использовать одинарные или двойные кавычки:

Пример

var carname="Volvo XC60";
var carname='Volvo XC60';

Вы можете использовать кавычки внутри строки, если они не совпадают с кавычками, окружающими строку:

Пример

var answer="It's alright";
var answer="He is called 'Johnny'";
var answer='He is called "Johnny"';

Попробуйте сами »

Вы узнаете больше о строках в продвинутом разделе этого руководства.


Числа JavaScript

В JavaScript есть только один тип чисел. Числа можно записывать с десятичной точкой или без неё:

Пример

var x1=34.00; // записано с десятичной точкой
var x2=34; // записано без десятичной точки

Очень большие или очень маленькие числа можно записывать с использованием научной (экспоненциальной) нотации:

Пример

var y=123e5;      // 12300000
var z=123e-5;     // 0.00123

Попробуйте сами »

Вы узнаете больше о числах в продвинутом разделе этого руководства.


Логические значения JavaScript

Логические значения (булевы) могут иметь только два значения: true или false.

var x=true;
var y=false;

Логические значения часто используются в условных проверках. Вы узнаете больше об условных проверках в одной из следующих глав этого руководства.


Массивы JavaScript

Следующий код создаёт массив с именем cars:

var cars=new Array();
cars[0]="Saab";
cars[1]="Volvo";
cars[2]="BMW";

Или (сокращённый массив):

var cars=new Array("Saab","Volvo","BMW");

Или (литеральный массив):

Пример

var cars=["Saab","Volvo","BMW"];

Попробуйте сами »

Индексы массива начинаются с нуля, поэтому первый элемент —

Вы узнаете больше о массивах позже в этом руководстве.


Объекты JavaScript

Объекты заключаются в фигурные скобки. Внутри скобок свойства объекта определяются в виде пар имя и значение (имя : значение). Свойства разделяются запятыми:

var person={firstname:"John", lastname:"Doe", id:5566};

Объект (person) в примере выше имеет три свойства: firstname, lastname и id.

Пробелы и разрывы строк не важны. Объявление может занимать несколько строк:

var person={
firstname : "John",
lastname : "Doe",
id : 5566
};

Существует два способа обращения к свойствам объекта:

Пример

name=person.lastname;
name=person["lastname"];

Попробуйте сами »

Вы узнаете больше об объектах позже в этом руководстве.


Undefined и Null

Значение Undefined указывает на то, что переменная не содержит значения.

Вы можете очистить переменную, задав её значение равным null.

Пример

cars=null;
person=null;

Попробуйте сами »


Объявление типов переменных

Когда вы объявляете новую переменную, вы можете использовать ключевое слово "new", чтобы объявить её тип:

var carname=new String;
var x= new Number;
var y= new Boolean;
var cars= new Array;
var person= new Object;

lamp Все переменные JavaScript являются объектами. Когда вы объявляете переменную, вы создаёте новый объект.
Другие расширения