English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основы JavaScript

Объекты JavaScript

Функции JavaScript

JS HTML DOM

JS браузер BOM

Основы AJAX

Руководство по JavaScript

Типы данных JavaScript

Типы значений (базовые типы): строка (String), число (Number), логический (Boolean), пустое значение (Null), неопределенное значение (Undefined), символ (Symbol). Типы данных по ссылке: объект (Object), массив (Array), функция (Function).


Типы данныхДля классификации данных определенного типа в программном языке.

Например, числа и строки - это данные разных типов, и JavaScript обрабатывает их по-разному.

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

 var length = 4; // Число (Number)
 var firstName = "Vishal"; // Строка (String)
 var user = {firstName:"Vishal", age:22}; // Объект (Object)
 var fruits = ["Apple", "Mango", "Banana"]; // Массив (Array)

Типы данных в JavaScript динамичны

JavaScript - это языковая среда с размытыми типами или динамическим языком. В JavaScript переменные не напрямую связаны с любым конкретным типом значения и могут быть присвоены (и переопределены) любому типу значения.

var x = 20; // x - это число
x = "VISHAL"; // x - это строка
x = true; // x - это булево значение
Тест, посмотрите <>/

Числа JavaScript

В JavaScript есть только один тип данных 'число', и нет отдельного указания на целое и вещественное числа.

Таким образом, числа могут быть записаны в JavaScript с точкой или без нее.

var a = 25; // без точки
var b = 80.05; // правая точка
Тест, посмотрите <>/

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

В JavaScript можно использовать научную запись для сокращения非常大 или очень маленьких чисел, как показано в следующих примерах:

let num1 = 957e8; // 95700000000
let num2 = 957e-8; // 0.00000957
Тест, посмотрите <>/

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

Строки JavaScript

Строка - это последовательность одного или нескольких символов (букв, цифр, знаков), которые представляют собой текстовые данные.

Строки JavaScript используются для хранения и обработки текста.

В отличие от некоторых других языков, в JavaScript нет различий между одинарными и двойными кавычками.

var msg1 = "Hello world"; // Использование двойных кавычек
var msg2 = 'Hello world'; // Использование одинарных кавычек
Тест, посмотрите <>/

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

var str1 = 'She said "Hey" and left'; // одинарные кавычки в двойных кавычках
var str2 = "She said 'Hey' and left"; // двойные кавычки в одинарных кавычках
var str3 = "Let's have a cup of tea"; // одинарные кавычки в двойных кавычках
var str4 = 'We\'ll never give up'; // обратные слэши используются для escaping одинарных кавычек
Тест, посмотрите <>/

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

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

Тип логических данных может быть одним из двух значений, то есть true или false.

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

(5 > 10) // возвращает false
(5 < 10) // возвращает true
("Apple" === "Apple") // возвращает true
Тест, посмотрите <>/

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

Массивы JavaScript

Массивы используются для хранения нескольких значений в одной переменной.

Массивы в JavaScript заключаются в квадратные скобки [].

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

Ниже приведен код, который объявляет (создает) массив под названием fruits, который содержит три элемента (имена трёх фруктов):

var fruits = ["Apple", "Mango", "Banana"];
Тест, посмотрите <>/

Каждый объект или значение внутри массива называется элементом. Вы можете ссылаться на элементы массива с помощью индексного номера.

Индекс массива в JavaScript равен 0: индекс первого элемента массива равен 0, второго элемента равен 1 и так далее.

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

Объекты JavaScript

В JavaScript объекты можно рассматривать как набор свойств.

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

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

var user = {firstName:"Vishal", age:22, color:"blue", location:"unknown"};
Тест, посмотрите <>/

В объекте (пользователь) из предыдущего примера есть 4 свойства: firstName, age, color и location.

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

Тип оператора

Оператор typeof помогает вам определить тип переменной.

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

// Возвращает "string"
typeof "Vishal"// Возвращает "string"
typeof "42"// Возвращает "string" (число в кавычках является строкой)
typeof 42// Возвращает "number"
typeof true// Возвращает "boolean"
typeof false// Возвращает "boolean"
typeof undefined// Возвращает "undefined"
typeof null// Возвращает "object"
typeof {name:"Vishal", age:22} // Возвращает "object"
typeof [2, 4, 6, 8]// Возвращает "object" (не "массив", см. примечание ниже)
typeof function myFunc(){} // Возвращает "function"
Тест, посмотрите <>/

Примечание:оператор typeof возвращает "объект" для массива,因为在 JavaScript массивы являются объектами.

undefined (неопределено)

undefinedworth указывает на то, что переменной не было присвоено значение, или переменная вовсе не была объявлена.

var city; // значение не определено
Тест, посмотрите <>/

тип такжеundefined.

typeof city // "undefined"
Тест, посмотрите <>/

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

city = undefined; // значение не определено, тип не определен
Тест, посмотрите <>/

null (пустое значение)

worthnullозначает намеренное отсутствие какого-либо значения объекта.

В JavaScript тип данныхnullявляется объектом.

Вы можете очистить любое objeto, установив значение вnull.

var user = {firstName:"Vishal", age:"22", color:"blue"};
user = null; // теперь value equals null, но тип данных по-прежнему объект
Тест, посмотрите <>/

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

var user = {firstName:"Vishal", age:"22", color:"blue"};
user = undefined; // значение и тип не определены
Тест, посмотрите <>/

разница между пустым (null) и неопределенным (undefined)

nullсundefinedравные значения, но различные типы.

typeof null // "объект" (не "null", по причинам наследственности)
typeof undefined // "undefined"
Тест, посмотрите <>/

Когда проверяетсяnullилиundefinedОбратите внимание на различие между операторами равенства (==) и идентичности (===), так как первый выполняет типовую конверсию.

null == undefined // true
null === undefined // false

Обработка нескольких типов данных одновременно

Хотя каждый созданный вами программный продукт будет содержать несколько типов данных.

При использовании операторов, работающих с перекрестными типами данных (например, +, который может добавлять числа или конкатенировать строки), могут возникнуть неожиданные результаты.

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

var x = 5 + "Sky";
Тест, посмотрите <>/

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

var x = "Sky" + 5;
Тест, посмотрите <>/

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

var x = 5 + 3 + "Sky";
Тест, посмотрите <>/
var x = "Sky" + 5 + 3;
Тест, посмотрите <>/

В первом примере JavaScript рассматривает 5 и 3 как числа, до достижения 'Sky'.

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