САМОСТОЯТЕЛЬНОЕ ОБУЧЕНИЕ ДЛЯ ВЕБ РАЗРАБОТЧИКОВ
×

JS Учебник

JS Главная JS Введение JS Где установить? JS Вывод JS Заявления JS Синтаксис JS Комментарии JS Переменные JS Let JS Const JS Операторы JS Арифметика JS Присваивание JS Типы данных JS Функции JS Объекты JS События JS Строки JS Методы строк JS Поиск строк JS Шаблоны строк JS Числа JS Методы чисел JS Массивы JS Методы массива JS Сортировка массива JS Итерация массива JS Постоянный массив JS Даты JS Формат дат JS Методы получения дат JS Методы набора дат JS Объекты Math JS Случайные числа JS Булевы JS Сравнения JS Оператор If...Else JS Оператор Switch JS Цикл For JS Цикл For In JS Цикл For Of JS Цикл While JS Оператор Break JS Повторяющиеся JS Наборы JS Карты JS Typeof JS Преобразование JS Битовые JS Выражения JS Ошибки JS Область JS Подъемный JS Строгий JS Ключевое слово this JS Стрелки JS Классы JS JSON JS Отладчик JS Стиль JS Практика JS Ошибки JS Эффективность JS Слова

JS Версии

JS Версии JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE/Edge JS История

JS Объекты

Определение объекта Свойства объекта Методы объекта Отображение объекта Доступ объекта Конструкторы объекта Прототипы объекта Повторяющиеся объекты Набор объектов Карты объекта Справочник объектов

JS Функции

Определение функций Параметры функции Обращение к функции Вызов функции Применение функции Закрытие функции

JS Классы

Введение класса Наследование класса Статистический класс

JS Асинхронный

JS Обратный вызов JS Асинхронный JS Обещания JS Асинхронный

JS HTML DOM

DOM Введение DOM Методы DOM Документы DOM Элементы DOM HTML DOM Формы DOM CSS DOM Анимация DOM События DOM Прослушиватель DOM Навигация DOM Узлы DOM Коллекция DOM Список узлов

JS Браузер BOM

JS Window JS Экран JS Расположение JS История JS Навигатор JS Предупреждение JS Синхронизация JS Куки

JS Веб APIы

Веб API Введение Веб API История Веб API Хранилище Веб API Работник Веб API Извлечь Веб API Геолокации

JS AJAX

AJAX Введение AJAX XMLHttp AJAX Запрос на сервер AJAX Ответ с сервера AJAX Файл XML AJAX Файл PHP AJAX Файл ASP AJAX База данных AJAX Приложения AJAX Примеры

JS JSON

JSON Введение JSON Синтаксис JSON или XML JSON Типы данных JSON Парсинг JSON Строки JSON Объекты JSON Массивы JSON PHP JSON HTML JSON JSONP

JS или jQuery

jQuery Селекторы jQuery Элементы jQuery CSS jQuery DOM

JS Примеры

JS Примеры JS HTML DOM JS HTML Ввод JS HTML Объекты JS HTML События JS Браузер JS Редактор JS Упражнения JS Викторина JS Сертификат

JS Справочник

JavaScript Объекты HTML DOM Объекты


JavaScript Типы данных



JavaScript типы данных

Переменные JavaScript могут содержать множество типов данных: числа, строки, объекты и многое другое:

var length = 16;                                     // Число
var lastName = "Щипунов";                            // Строка
var x = {firstName:"Щипунов", lastName:"Андрей"};    // Объект

Понятие типов данных

В программировании типы данных - важно понять.

Чтобы, иметь возможность работать с переменными, важно знать кое-что о типе.

Без типов данных компьютер не может решить ни одну проблему:

var x = 16 + "Вольво";

Есть ли смысл добавлять "Вольво" к шестнадцати? Произойдет ли ошибка или результат?

JavaScript будет рассматривать приведенный выше пример как:

var x = "16" + "Вольво";

При добавлении числа к строке, JavaScript будет рассматривать число как строка.

Пример

var x = 16 + "Вольво";
Попробуйте сами »

Пример

var x = "Вольво" + 16;
Попробуйте сами »

JavaScript оценивает выражения слева направо. Различные последовательности могут давать разные результаты:

JavaScript:

var x = 16 + 4 + "Вольво";

Результат:

20Вольво
Попробуйте сами »

JavaScript:

var x = "Вольво" + 16 + 4;

Результат:

Вольво164
Попробуйте сами »

В первом примере JavaScript обрабатывает 16 и 4 как число, пока не достигнет "Вольво".

Во втором примере, поскольку первый операнд является строкой, все операнды рассматриваются как строка.



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

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

Пример

var x;           // Теперь x не определен
x = 5;           // Теперь x - это число
x = "Щипунов";   // Теперь x - это строка
Попробуйте сами »

JavaScript Строки

Строка (или текстовая строка) - последовательность символов, например "Щипунов Андрей".

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

Пример

var carName1 = "Вольво XC60";   // Использование двойных кавычек
var carName2 = 'Вольво XC60';   // Использование одинарных кавычек
Попробуйте сами »

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

Пример

var answer1 = "Все' в порядке";           // Одинарная кавычка внутри двойных кавычек
var answer2 = "Его фамилия 'Щипунов'";    // Одинарные кавычки внутри двойных кавычек
var answer3 = 'Его фамилия "Щипунов"';    // Двойные кавычки внутри одинарных кавычек
Попробуйте сами »

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


JavaScript Числа

В JavaScript есть только один тип чисел.

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

Пример

var x1 = 34.00;     // Написано c десятичными знаками
var x2 = 34;        // Написано без десятичных знаков
Попробуйте сами »

Сверхбольшие или сверхмалые числа можно записать в экспоненциальной нотации:

Пример

var y = 123e5;      // 12300000
var z = 123e-5;     // 0.00123
Попробуйте сами »

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


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

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

Пример

var x = 5;
var y = 5;
var z = 6;
(x == y)       // Возвращает true
(x == z)       // Возвращает false
Попробуйте сами »

Логические значения часто используются в условном тестировании.

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


JavaScript Массивы

JavaScript Массивы записываются в квадратные скобки.

Элементы массива разделяются запятыми.

Следующий код объявляет (создает) вызываемый массив cars, содержащий три элемента (названия автомобилей):

Пример

var cars = ["Сааб", "Вольво", "БМВ"];
Попробуйте сами »

Индексы массивов отсчитываются от нуля, что означает, что первый элемент - [0], второй - [1] и т.д.

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


JavaScript Объекты

Объекты JavaScript записываются в фигурные скобки {}.

Свойства объекта записываются в виде пар "Имя: Значение", разделенные запятыми.

Пример

var person = {firstName:"Щипунов", lastName:"Андрей", age:50, eyeColor:"Зеленый"};
Попробуйте сами »

Объект (person) в приведенном выше примере имеет 4 свойства: firstName, lastName, age и eyeColor.

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


JavaScript Оператор typeof

Вы можете использовать JavaScript оператор typeof, чтобы найти тип переменной JavaScript.

Оператор typeof, возвращает тип переменной или выражение:

Пример

typeof ""                   // Возвращает "строку"
typeof "Щипунов"            // Возвращает "строку"
typeof "Щипунов Андрей"     // Возвращает "строку"
Попробуйте сами »

Пример

typeof 0              // Возвращает "число"
typeof 314            // Возвращает "число"
typeof 3.14           // Возвращает "число"
typeof (3)            // Возвращает "число"
typeof (3 + 4)        // Возвращает "число"
Попробуйте сами »

JavaScript Неопределенно

В JavaScript переменная без значения имеет значение undefined. Тип, тоже будет undefined.

Пример

var car;    // Значение неопределено, тип не определен
Попробуйте сами »

Любую переменную можно очистить, установив для нее значение undefined. Тип, тоже будет undefined.

Пример

car = undefined;    // Значение неопределено, тип не определен
Попробуйте сами »

JavaScript Пустые значения

Пустое значение, undefined здесь, ни при чем.

Пустая строка имеет как допустимое значение, так и тип.

Пример

var car = "";    // Значение "", typeof "строка"
Попробуйте сами »

JavaScript Ноль

В JavaScript null это значит "ничего". Предполагается, что этого не существует.

К сожалению, в JavaScript тип данных null - это объект.

Вы можете считать это ошибкой в ​​JavaScript, который typeof null является объектом. Так и должно быть null.

Вы можете очистить объект, установив для него null:

Пример

var person = {firstName:"Щипунов", lastName:"Андрей", age:50, eyeColor:"Зеленый"};
person = null;    // Теперь значение равно null, но тип по-прежнему является объектом
Попробуйте сами »

Вы также можете очистить объект, установив для него undefined:

Пример

var person = {firstName:"Щипунов", lastName:"Андрей", age:50, eyeColor:"Зеленый"};
person = undefined;   // Теперь оба значения и тип не определен
Попробуйте сами »

Разница между undefined и null

undefined и null имеют одинаковые значения, но разные по типу:

typeof undefined           // undefined
typeof null                // object

null === undefined         // false
null == undefined          // true
Попробуйте сами »

Примитивные данные

Примитивное значение данных - это одно простое значение данных без дополнительных свойств и методов.

Оператор typeof может вернуть один из этих примитивных типов:

  • string
  • number
  • boolean
  • undefined

Пример

typeof "Щипунов"           // Возвращает "string"
typeof 3.14                // Возвращает "number"
typeof true                // Возвращает "boolean"
typeof false               // Возвращает "boolean"
typeof x                   // Возвращает "undefined" (если x не имеет значения)
Попробуйте сами »

Комплексные данные

Оператор typeof может возвращать одно из двух сложных типов:

  • function
  • object

typeof возвращает оператор "object" для объектов, массивов, и нуля.

typeof не возвращает оператор "object" для функций.

Пример

typeof {name:'Щипунов', age:34} // Возвращает "object"
typeof [1,2,3,4]                // Возвращает "object" (не "array", см. примечание ниже)
typeof null                     // Возвращает "object"
typeof function myFunc(){}      // Возвращает "function"
Попробуйте сами »

В typeof возвращает оператор "object" для массивов, так как в массивах JavaScript являются объектами.


Проверьте себя с помощью упражнений

Упражнение:

Используйте комментарии, чтобы описать правильный тип данных следующих переменных:

var length = 16; // 
var lastName = "Щипунов";
// 
var x = {
firstName: "Щипунов",
lastName: "Андрей"
}; // 

Упражнения