Источник: https://developer.mozilla.org/ru/docs/Web/JavaScript/Guide/Expressions_and_Operators
Выражением является любой валидный блок кода, который имеет ценность.
Концептуально, существуют два типа выражений: те которые присваивают переменной значение и те которые вычисляют значение без его присваивания куда-либо.
Все JavaScript выражения делятся на следующие категории:
В JavaScript имеются следующие типы операторов:
JavaScript поддерживает бинарные и унарные операторы, а также ещё один специальный тернарный оператор – условный оператор. Бинарная операция использует два операнда, один перед оператором (его знаком) и другой за ним:
operand1 operator operand2
В свою очередь унарная операция использует один операнд, перед или после оператора:
operator operand
или
operand operator
В результате операции присваивания операнду слева от оператора присваивания (знак =
) устанавливается значение , которое берётся из правого операнда. Основным оператором присваивания является =
, он присваивает значение правого операнда операнду находящемуся слева. Таким образом, выражение x = y
означает, что x
присваивает значение y
.
Существуют также сокращенные операторы присваивания используемые для операций приведенных ниже в таблице:
Сокращенный оператор | Значение |
---|---|
x += y | x = x + y |
x -= y | x = x - y |
x *= y | x = x * y |
x /= y | x = x / y |
x %= y | x = x % y |
x <<= y | x = x << y |
x >>= y | x = x >> y |
x >>>= y | x = x >>> y |
x &= y | x = x & y |
x ^= y | x = x ^ y |
Оператор сравнения сравнивает свои операнды и возвращает логическое значение базируясь на равенстве или неравенстве значений операндов. Операнды могут быть числовыми, строчными, логическими или объектами. Строки сравниваются опираясь на стандартный лексографический порядок, используя Unicode значения. В большинстве случаев, если операнды имеют разный тип, JavaScript пробует преобразовать их к подходящему типу для сравнения. Данное поведение обычно используется при сравнении числовых операндов. Исключением из этого правила является сравнение с использованием операторов ===
и !==
, которые производят строгое сравнение на равенство или неравенство. Эти операторы не делают попытки преобразовать операнды перед их сравнением на равенство. Следующая таблица описывает операторы сравнения в контексте следующего примера кода:
var var1 = 3, var2 = 4;
Оператор | Описание | Примеры возвращающие true |
---|---|---|
Равно == |
Возвращает true если операнды равны. | 3 == var1 "3" == var1 3 == '3' |
Не равно != |
Возвращает true если операнды не равны. | var1 != 4 var2 != "3" |
Строгое равно === |
Возвращает true если операнды равны и имеют одинаковый тип. | 3 === var1 |
Строго не равно !== |
Возвращает true если операнды не равны и/или имеют разный тип. | var1 !== "3" 3 !== '3' |
Больше чем > |
Возвращает true если операнд слева больше операнда справа. | var2 > var1 "12" > 2 |
Больше чем или равно >= |
Возвращает true если операнд слева больше или равен операнду справа. | var2 >= var1 var1 >= 3 |
Меньше чем < |
Возвращает true если операнд слева меньше операнда справа. | var1 < var2 "2" < "12" |
Меньше чем или равно <= |
Возвращает true если операнд слева меньше или равен операнду справа. | var1 <= var2 var2 <= 5 |
Арифметические операторы работают с числами (иногда со строками или переменными других типов) в качестве своих операндов и возвращиют единичный результат также число. Стандартными арифметическими операторами являются сложение +
, вычитание -
, умножение *
, и деление /
.
console.log(1 / 2); /* напечатает 0.5 */
console.log(1 / 2 == 1.0 / 2.0); /* напечатает true */