Синтаксис языка 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 Попробуй »

Чтобы узнать об арифметических операторах, прочтите 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.

Читайте также:  Установка python windows server

Строковые операторы 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.

Источник

Оцените статью