Всего в JavaScript, существует 6 типов данных:
— Число number
,
— Строка string
,
— Логический (булев) тип данных boolean
,
— Отсутствие значения undefined
,
— Пустота, ничто null
,
— Объект object
.
Эти 6 типов данных, делятся на два вида, простые типы данных и составные (объектные) типы данных.
Простые (примитивные) типы данных: number, string, boolean, undefined, null.
Составные (объектные) типы данных: object
Составным типом данных являются: объект, функция, массив (см. в конце статьи).
Прежде чем рассмотреть каждый тип данных, познакомимся сначала с оператором typeof
. Данный оператор позволяет узнать, какой тип данных у переменной, делается это так:
var имяПеременной;
имяПеременной = значение;
alert(typeof имяПеременной);
Тип данных: number
Number — тип данных число. Числа могут быть как целыми так и с плавающей запятой (дробные, вещественные, действительные числа).
var myNumber = 5;
var myNumber2 = 5.5;
В JavaScript в числах с плавающей запятой, используются точки, а не запятые 🙂
Проверяем с помощью оператора typeof, тип данных наших переменных:
alert(typeof myNumber);
alert(typeof myNumber2);
В обоих случаях, скрипт выдаст нам сообщение number
.
Тип данных: string
String — тип данных строка. Чтобы превратить значение переменной в строку, её нужно обрамить кавычками: дойными «строка» или одинарными ‘строка’. Если число обрамить кавычками, то её тип данных из number
превратится в string
:
var myString = 'Привет я строка JavaScript';
var myString2 = '5';
Проверяем с помощью оператора typeof, тип данных наших переменных:
alert(typeof myString);
alert(typeof myString2);
В обоих случаях скрипт выдаст нам сообщение string
.
Тип данных: boolean
Boolean — логический (булев) тип данных, он может иметь только одно их двух значений: true
(правда) или false
(ложь). Значения true или false обычно появляются в операциях сравнения или логических операциях.
var myBoolean = true;
var myBoolean2 = false;
Проверяем с помощью оператора typeof, тип данных наших переменных:
alert(typeof myBoolean);
alert(typeof myBoolean2);
В обоих случаях, скрипт выдаст нам сообщение boolean
.
Если логический тип данных обрамить кавычками, то его тип данных из boolean превратится в string.
Тип данных: undefined
Undefined — тип данных который имеет всего одно значение undefined
. Этот тип данных появляется тогда, когда переменная объявлена, но не инициализирована, т.е. когда у переменной (свойства объекта или элемента массива) отсутствует значение.
// Объявили переменную, но не присвоили ей значения
var myUndefined;
// Проверяем с помощью оператора typeof, тип данных нашей переменной
alert(typeof myUndefined);
Функция alert() выдаст нам сообщение undefined
.
Если переменной присвоить значение undefined
, то её тип данных тоже будет undefined.
var myUndefined2 = undefined;
alert(typeof myUndefined2);
Если значение undefined
обрамить кавычками, то его тип данных из undefined превратится в string.
Тип данных: object
Object — тип данных объект.
var myObject;
myObject = {
svoistvo: "znachenie",
svoistvo2: "znachenie2",
};
Проверяем с помощью оператора typeof, тип данных нашего объекта:
alert(typeof myObject);
Скрипт выдаст нам сообщение object
. Так же оператор typeof, покажет object у массивов и функций (см. ниже).
Тип данных: null
Null — это специальный тип данных обозначающий пустоту (ничего). Null — это специальный пустой объект. Например null может появиться при нажатии на кнопку отмена при использовании функции promt().
var myNull = null;
alert(typeof myNull);
Данный скрипт выдаст сообщение object
, почему так происходит читайте ниже.
Если null обрамить кавычками, то его тип данных из null превратится в string.
Уточнение по работе с оператором typeof
Здесь сообщу о некоторых подводных камнях которые есть в операторе typeof, например при работе с null и с функциями он выдаёт не верный тип данных, что часто путает начинающих. Ниже я составил небольшую табличку, показывающую как работает оператор typeof:
typeof 7; // number
typeof "Строка"; // string
typeof true; // boolean
typeof undefined; // undefined
typeof {}; // object
typeof []; // object
typeof null; // object
typeof new Array(); // object
typeof function(){}; // function
typeof function имяФункции(){} // function
Хотя на самом деле, null это null, а функция это object.
Вместо new Array()
можно вcтавить любой другой конструктор объектов, например new Date()
или new RegExp()
.