- JavaScript Операторы
- Арифметические операторы JavaScript
- Операторы присваивания JavaScript
- Строковые операторы JavaScript
- Операторы сравнения
- Условный (тернарный) оператор
- Логические операторы
- Побитовые операторы JavaScript
- Оператор typeof
- Пример
- Оператор delete
- Пример
- Оператор in
- Пример
- Оператор instanceof
- Пример
- Оператор void
- Выражения и операторы
- Выражения и операторы по категориям
- Первичные выражения
- Левосторонние выражения
- Инкремент и декремент
- Унарные операторы
- Арифметические операторы
- Реляционные операторы
- Операторы равенства
- Операторы побитового сдвига
- Бинарные побитовые операторы
- Бинарные логические операторы
- Условный (тернарный) оператор
- Операторы присваивания
- Оператор запятая
- Нестандартные особенности
- Спецификации
- Смотрите также
- Found a content problem with this page?
- MDN
- Support
- Our communities
- Developers
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 | Попробуй » |
Чтобы узнать об арифметических операторах, прочтите For a tutorial about arithmetic operators, read our Руководство по арифметике 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 = «Good «, text2 = «Morning», и text3 = «», в таблице ниже описываются операторы:
Оператор | Пример | text1 | text2 | text3 | Попробуй |
---|---|---|---|---|---|
+ | text3 = text1 + text2 | «Good « | «Morning» | «Good Morning» | Попробуй » |
+= | text1 += text2 | «Good Morning» | «Morning» | «» | Попробуй » |
Операторы сравнения
Операторы сравнения используются в логических операторах для определения равенства или различия между переменными или значениями.
Учитывая, что 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 | true | Попробуй » |
Учебник по операторам сравнения см. в Руководстве по сравнению JavaScript.
Условный (тернарный) оператор
Условный оператор присваивает значение переменной на основе условия.
Объяснение примера: Если переменная «age» имеет значение меньше 18, значение переменной «voiceable» будет «Too young», в противном случае значение переменной «voiceable» будет «Old enough».
Логические операторы
Логические операторы используются для определения логики между переменными или значениями.
Учитывая, что x = 6 и y = 3, в таблице ниже объясняются логические операторы:
Побитовые операторы 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 ^ 0001 | 0100 | 4 |
Левый сдвиг | x = 5 | 0101 | 1010 | 10 | |
>> | Правый сдвиг | x = 5 >> 1 | 0101 >> 1 | 0010 | 2 |
В приведенных выше примерах используются 4-битные беззнаковые примеры. Но в JavaScript используются 32-битные числа со знаком.
Из-за этого в JavaScript ~ 5 не вернет 10. Он вернет -6.
~00000000000000000000000000000101 вернет 11111111111111111111111111111010
Оператор typeof
Оператор typeof возвращает тип переменной, объекта, функции или выражения:
Пример
typeof «John» // Возврат string
typeof 3.14 // Возврат number
typeof NaN // Возврат number
typeof false // Возврат boolean
typeof [1, 2, 3, 4] // Возврат object
typeof // Возврат object
typeof new Date() // Возврат object
typeof function () <> // Возврат function
typeof myCar // Возврат undefined (если myCar не объявлен)
typeof null // Возврат object
- Тип данных NaN — число
- Тип данных массива — объект
- Тип данных даты — объект
- Тип данных null — объект
- Тип данных неопределенной переменной undefined
Вы не можете использовать typeof, чтобы определить, является ли объект JavaScript массивом (или датой).
Оператор delete
Оператор delete удаляет свойство из объекта:
Пример
Оператор удаления удаляет как значение свойства, так и само свойство.
После удаления свойство нельзя использовать до его повторного добавления.
Оператор удаления предназначен для использования со свойствами объекта. Это не влияет на переменные или функции.
Примечание: Оператор удаления не следует использовать для предопределенных свойств объекта JavaScript. Это может привести к сбою вашего приложения.
Оператор in
Оператор in возвращает true, если указанное свойство находится в указанном объекте, в противном случае — false:
Пример
// Массивы
var cars = [«Сааб», «Вольво», «БМВ»];
«Сааб» in cars // Возврат false (укажите номер индекса вместо значения)
0 in cars // Возврат true
1 in cars // Возврат true
4 in cars // Возврат false (не существует)
«length» in cars // Возврат true (длина — это свойство массива)
// Объекты
var person = ;
«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 = [«Сааб», «Вольво», «БМВ»];
cars instanceof Array; // Возврат true
cars instanceof Object; // Возврат true
cars instanceof String; // Возврат false
cars instanceof Number; // Возврат false
Оператор void
Оператор void оценивает выражение и возвращает значение undefined. Этот оператор часто используется для получения неопределенного примитивного значения с помощью «void (0)» (полезно при оценке выражения без использования возвращаемого значения).
Выражения и операторы
Эта глава описывает все операторы, выражения и ключевые слова языка JavaScript.
Выражения и операторы по категориям
Алфавитный список смотрите в боковой панели слева.
Первичные выражения
Базовые ключевые слова и общие выражения в JavaScript.
Ключевое слово this ссылается на контекст выполняемой функции.
Ключевое слово function определяет выражение функции.
Ключевое слово class определяет выражение класса.
Ключевое слово function* (со звёздочкой) определяет функцию-генератор.
Пауза или продолжение выполнения функции-генератора.
Делегирует выполнение другому генератору итерируемому объекту.
async function определяет выражение асинхронной функции.
Пауза и продолжение выполнения асинхронной функции и ожидание Promise (результата выполнения) с результатом разрешено/отклонено.
Синтаксис создания инициализатора/литерала массива.
Синтаксис создания инициализатора/литерала объекта
Синтаксис создания литерала регулярного выражения.
Левосторонние выражения
Значения слева являются назначением присваивания.
Операторы доступа к членам предоставляют доступ к свойству или методу объекта ( object.property и object[‘property’] ).
Оператор new создаёт экземпляр объекта с использованием конструктора.
Свойство new.target ссылается на конструктор или функцию, который был вызван через оператор new .
Ключевое слово super вызывает конструктор родительского класса.
Оператор распространения позволяет развернуть выражение в местах, где ожидается несколько аргументов (при вызове функций) или несколько элементов (при создании литералов массива).
Инкремент и декремент
Операторы постфиксного/префиксного инкремента и декремента.
Оператор постфиксного инкремента.
Оператор постфиксного декремента.
Оператор префиксного инкремента. (Значение переменной, сначала, увеличивается на 1, а затем используется в выражении)
Оператор префиксного декремента.
Унарные операторы
Унарные операции — это операции с одним операндом.
Оператор delete удаляет свойство из объекта.
Оператор void отбрасывает возвращаемое значение выражения.
Оператор typeof определяет тип переданного объекта.
Оператор унарного плюса преобразует свой операнд в тип Number .
Оператор унарного минуса преобразует свой операнд в тип Number , а затем меняет его знак.
Арифметические операторы
Арифметические операторы своими операндами принимают числовые значения (литералы или переменные) и возвращают одно числовое значение.
Оператор взятия остатка от деления.
Оператор возведения в степень.
Реляционные операторы
Реляционные операторы (операторы отношения) сравнивают свои операнды и возвращают значение типа Boolean , зависящее от того, был ли результат сравнения истинным или ложным.
Оператор in определяет, содержит ли объект указанное свойство.
Оператор instanceof определяет, является ли объект экземпляром потомком Prototype (или экземпляром) другого объекта.
Оператор меньше или равно.
Оператор больше или равно.
Примечание: => это не оператор. Это нотация для Стрелочных функций.
Операторы равенства
Результат вычисления оператора равенства всегда имеет тип Boolean и значение, зависящее от того, был ли результат проверки истинным или ложным.
Оператор проверки на равенство.
Оператор проверки на неравенство.
Оператор проверки на идентичность.
Оператор проверки на неидентичность.
Операторы побитового сдвига
Операции для сдвига всех битов операнда.
Оператор побитового сдвига влево.
Оператор знакового побитового сдвига вправо.
Оператор беззнакового побитового сдвига вправо.
Бинарные побитовые операторы
Побитовые операторы трактуют свои операнды как набор из 32 битов (нулей и единиц) и возвращают стандартные числовые значения JavaScript.
Оператор побитового ИСКЛЮЧАЮЩЕГО ИЛИ.
Бинарные логические операторы
Логические операторы обычно используются вместе с булевыми (логическими) значениями и в сочетании с ними они возвращают булево значение.
Условный (тернарный) оператор
Условный оператор возвращает одно значение из двух данных в зависимости от логического значения условия.
Операторы присваивания
Операторы присваивания присваивают значение своему левому операнду, зависящее от значения их правого операнда.
Оператор присваивания с умножением.
Оператор присваивания с делением.
Оператор присваивания с взятием остатка от деления.
Оператор присваивания со сложением.
Оператор присваивания с вычитанием.
Оператор присваивания со сдвигом влево.
Оператор присваивания со знаковым сдвигом вправо.
Оператор присваивания с беззнаковым сдвигом вправо.
Оператор присваивания с побитовым И.
Оператор присваивания с побитовым ИСКЛЮЧАЮЩИМ ИЛИ.
Оператор присваивания с побитовым ИЛИ.
Деструктурирующее присваивание позволяет вам присваивать свойства массива или объекта переменным с использованием синтаксиса, очень похожего на объявление литералов массива или объекта.
Оператор запятая
Оператор запятая позволяет вычислять несколько выражений в одном операторе и возвращает результат вычисления последнего выражения.
Нестандартные особенности
Ключевое слово function может быть использовано для определения устаревших функций-генераторов в одном выражении. Для того, чтобы сделать такую функцию, её тело должно содержать хотя бы одно выражение yield .
Синтаксис закрытого выражения для сокращённого написания простейших функций.
Упрощённый синтаксис создания массива.
Упрощённый синтаксис создания генератора.
Спецификации
Спецификация | Статус | Комментарии |
---|---|---|
ECMAScript 1st Edition (ECMA-262) Определение ‘Expressions’ в этой спецификации. | Стандарт | Изначальное определение. |
ECMAScript 5.1 (ECMA-262) Определение ‘Expressions’ в этой спецификации. | Стандарт | |
ECMAScript 2015 (6th Edition, ECMA-262) Определение ‘ECMAScript Language: Expressions’ в этой спецификации. | Стандарт | Новое: Оператор распространения, деструктурирующее присваивание, ключевое слово super . |
ECMAScript (ECMA-262) Определение ‘ECMAScript Language: Expressions’ в этой спецификации. | Живой стандарт |
Смотрите также
Found a content problem with this page?
This page was last modified on 11 февр. 2023 г. by MDN contributors.
Your blueprint for a better internet.
MDN
Support
Our communities
Developers
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998– 2023 by individual mozilla.org contributors. Content available under a Creative Commons license.