Референсное руководство по операторам JavaScript

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

Дополнительная информация:

Учебник:Операторы JavaScript

Учебник:Приоритет операторов JavaScript

Арифметические операторы JavaScript

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

Дано y = 5,в таблице ниже объясняются арифметические операторы:

Оператор Описание Пример результат в y результат в x Попробуйте
+ добавление x = y + 2 y = 5 x = 7 Попробуйте
- вычитание x = y - 2 y = 5 x = 3 Попробуйте
* умножение x = y * 2 y = 5 x = 10 Попробуйте
/ деление x = y / 2 y = 5 x = 2.5 Попробуйте
% модуль (остаток от деления) x = y % 2 y = 5 x = 1 Попробуйте
++ увеличение x = ++y y = 6 x = 6 Попробуйте
x = y++ y = 6 x = 5 Попробуйте
-- уменьшение x = --y y = 4 x = 4 Попробуйте
x = y-- y = 4 x = 5 Попробуйте

Для получения информации о арифметических операторах прочитайте нашу Учебник JavaScript по арифметическим операторам.

Операторы присваивания JavaScript

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

Дано x = 10 и y = 5,в таблице ниже объясняются операторы присваивания:

Оператор Пример Эквивалентно результат в x Попробуйте
= x = y x = y x = 5 Попробуйте
+= x += y x = x + y x = 15 Попробуйте
-= x -= y x = x - y x = 5 Попробуйте
*= x *= y x = x * y x = 50 Попробуйте
/= x /= y x = x / y x = 2 Попробуйте
%= x %= y x = x % y x = 0 Попробуйте

Для получения информации о операторах присваивания прочитайте нашу Учебник JavaScript по присваиванию.

Операторы строк JavaScript

+ оператор и += оператор также могут использоваться для подключения (добавления) строк.

Дано text1 = "Доброе "text2 = "Утро"и text3 = "",в таблице ниже объясняются этот оператор:

Оператор Пример text1 text2 text3 Попробуйте
+ text3 = text1 + text2 "Доброе " "Утро" "Доброе утро" Попробуйте
+= text1 += text2 "Доброе утро" "Утро" "" Попробуйте

операторы сравнения

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

Дано x = 5,в таблице ниже объясняются операторы сравнения:

Оператор Описание сравнение возврат Попробуйте
== равны x == 8 false Попробуйте
x == 5 true Попробуйте
=== равные значения и типы x === "5" false Попробуйте
x === 5 true Попробуйте
!= не равны x != 8 true Попробуйте
!== Неравные значения или неравные типы x !== "5" true Попробуйте
x !== 5 false Попробуйте
> Больше x > 8 false Попробуйте
< Меньше x < 8 true Попробуйте
>= Больше или равно x >= 8 false Попробуйте
<= Меньше или равно x <= 8 true Попробуйте

Чтобы узнать о сравнительных операторах, прочитайте наш Учебник по сравнительным операторам JavaScript.

Оператор условия (треугольный)

Оператор условияassignает значение переменной в зависимости от условия.

Грамматика

variablename = (condition) ? value1:value2

Пример

voteable = (age < 18) ? "Too young":"Old enough";

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

Объяснение примера:

Если значение переменной "age" меньше 18, то значение переменной "voteable" будет "Too young", в противном случае, значение "voteable" будет "Old enough".

Логические операторы

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

Дано x = 6 и y = 3Ниже приведена таблица, объясняющая логические операторы:

Оператор Описание Пример Попробуйте
&& и (x < 10 && y > 1) is true Попробуйте
|| или (x === 5 || y === 5) is false Попробуйте
! не !(x === y) is true Попробуйте

Битовые операторы JavaScript

Битовые операторы могут обрабатывать 32-битные числа. Любой числовой операнд в этом вычислении будет преобразован в 32-битное число. Результат будет преобразован обратно в число JavaScript.

Оператор Описание Пример Эквивалентно Результат Десятичный
& AND x = 5 & 1 0101 & 0001 0001 1
| OR x = 5 | 1 0101 | 0001 0101 5
~ NOT x = ~5 ~0101 1010 10
^ XOR x = 5 ^ 1 0101 ^ 0100 4
<< Левый сдвиг x = 5 << 1 0101 << 1 1010 10
>> Правый сдвиг x = 5 >> 1 0101 >> 1 0010 2

В предыдущем примере использовался пример с 4 битами без знака. Однако JavaScript использует 32-битные числа с знаком.

Таким образом, в JavaScript, ~5 не возвращает 10, а возвращает -6.

~00000000000000000000000000000101 вернет 11111111111111111111111111111010

Оператор typeof

typeof Оператор typeof возвращает тип переменной, объекта, функции или выражения:

Пример

typeof "Bill"                 // Возвращает string
typeof 3.14                   // Возвращает number
typeof NaN                    // Возвращает number
typeof false                  // Возвращает boolean
typeof [1, 2, 3, 4]           // Возвращает object
typeof {name:'Bill', age:19}  // Возвращает object
typeof new Date()             // Возвращает object
typeof function () {}         // Возвращает function
typeof myCar                  // Возвращает undefined (если не объявлен myCar)
typeof null                   // Возвращает object

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

Обратите внимание:

  • Тип данных NaN - number
  • Тип данных массива - object
  • Тип данных даты - object
  • Тип данных null - object
  • Данные неопределенной переменной имеют тип undefined

Вы не можете использовать typeof для определения того, является ли JavaScript объект массивом (или датой).

Вы не можете использовать typeof для определения того, является ли JavaScript объект массивом (или датой).

Оператор delete

delete Оператор delete удаляет свойства из объекта:

Пример

var person = {firstName:"Bill", lastName:"Gates", age:19, eyeColor:"blue"};
delete person.age;   // Удаление person["age"];

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

Оператор delete удаляет как значение свойства, так и само свойство.

После удаления и до повторного добавления свойства, его использовать нельзя.

Оператор delete предназначен для использования с свойствами объектов. Он не влияет на переменные или функции.

Комментарий:}не следует использовать оператор delete на предопределенных свойствах объектов JavaScript. Это может привести к сбою вашего приложения.

оператор in

если указанное свойство存在于 указанном объекте: in оператор возвращает true, если указанное свойство存在于 указанном объекте, в противном случае возвращает false:

Пример

// массив
var cars = ["Saab", "Volvo", "BMW"];
"Saab" in cars          // возвращает false (указан индекс, а не значение)
0 in cars               // возвращает true
1 in cars               // возвращает true
4 in cars               // возвращает false (не существует)
"length" in cars        // возвращает true (length является свойством массива)
// объект
var person = {firstName:"Bill", lastName:"Gates", age:19};
"firstName" in person   // возвращает true
"age" in person         // возвращает true
// предопределенные объекты
"PI" in Math            // возвращает true
"NaN" in Number         // возвращает true
"length" in String      // возвращает true

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

оператор instanceof

если указанный объект является экземпляром указанного объекта: instanceof оператор возвращает true:

Пример

var cars = ["Saab", "Volvo", "BMW"];
cars instanceof Array;          // возвращает true
cars instanceof Object;         // возвращает true
cars instanceof String;         // возвращает false
cars instanceof Number;         // возвращает false

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

оператор void

void оператор вычисляет выражение и возвращает undefinedЭтот оператор обычно используется для получения неопределенного значения (undefined) с помощью "void(0)" (это полезно при вычислении выражения без использования возвращаемого значения).

Пример

<a href="javascript:void(0);">
  Незначимый ссылка
</a>
<a href="javascript:void(document.body.style.backgroundColor='red');">
  Нажмите меня, чтобы изменить цвет фона body на красный
</a>

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