Уроки javascript, учебник javascript, справочник javascript

Выражения и Операторы javascript

Меню


Выражения

Выражение - любой имеющий силу набор литералов, переменных, операторов, и выражений, которые вычисляю простое значение. Значение может быть число, строка, или логическое значение. Существует два типа выражений: которые присваивают значение переменной, и которые вычисляют выражение без присваивания его переменной. Например, выражение

x = 7

Является выражением, которое приписывает x значение 7. Это выражение вычисляет 7. Такие выражения используют операторы присвоения. С другой стороны, выражение

3 + 4

Просто вычисляет 7; оно не выполняет присвоения. Операторы используемые в таких выражениях, упоминаются просто как операторы.

JavaScript имеет следующие выражения:

  • Арифметические: например, вычисляет число
  • Строковые: вычисляют строку символов, например "Джон" или "234"
  • Логические: вычисляют true(истина) или false(ложь)

Язык JavaScript включает в себя значение null для переменных, которым не присвоено никакое значение. Любая попытка использовать переменную, имеющую значение null, в вычисляемом выражении приводит к ошибке, за исключением случая присваивания значения null переменной, например timerID = null.

Условные Выражения

Условное выражение может иметь одну из двух значений, основанных на условии. Синтаксис :

 (Условие)? Val1: val2

Если условие истинно, то выражение имеет значение val1, иначе имеет значение val2.

Например,

status = (age >= 18) ? "adult" : "minor" Это утверждение присваивает значение "adult" переменной status, если age равно 18 или больше чем 18. Иначе, приписывает значение "minor" переменной status.

Операторы Присваивания (=, + =, - =, * =, / =)

Оператор присваивает значение левому операнду, основанному на значении правого операнда. Основной оператор присваивания равенство (=), который присваивает значение правого операнда левому операнду. То есть x = y приписывает значение y к x.

Другие операторы - стенография для стандартных арифметических действий выглядят следующим образом:

  • Сложение, конкатенация: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
  • Побитовый ИЛИ x|=y означает x = x | y


Операторы

JavaScript имеет арифметические, строковые и логические операторы. Имеет, и бинарные и унарные операторы. Бинарный оператор требует двух операндов, унарный перед оператором и одним после оператора:

Operand1 operator operand2

Например, 3 + 4 or x * y

Унарный оператор требует одного операнда, до или после оператора:

operator operand
Или
operand operator
Например x ++ или ++ x.

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

Арифметические операторы принимают численные значения (литералы или переменные) как их операнды и возвращают числовое значение.

Стандартные Арифметические Операторы

Арифметические операторы - сложение (+), вычитание (-), умножение (*), и деление (/). Эти операторы работают стандартным способом.

Модуль (%)

Оператор модуля используется следующим образом:
Var1 % var2

Оператор модуля возвращает первый операнд по модулю второго операнд, то есть var1 по модулю var2, где var1 и var2 - переменные. Функция по модулю - это остаточный член от деления var1 на var2. Например, 12 % 5 возвращается 2.

Инкремент (++)

Оператор инкремент используется следующим образом:
var++ или ++var

Этот оператор увеличивает его операнд и возвращает значение. Если используемый постфикс, с оператором после операнда (например x ++), то возвращает значение перед увеличением. Если используемый префикс с оператором перед операндом (например, ++ x), то возвращает значение после увеличения.
Например, если x - 3, то утверждение
y = x ++

Увеличивает x до 4 и присваивает y равное 3.
Если x - 3, то утверждение
y = ++ x
Увеличивает x до 4 и присваивает y равное 4.

Декремент (--)

Оператор декремента используется следующим образом:

var-- или --var

Этот оператор уменьшает его операнд и возвращает значение. Если используемый постфикс (например x--) то возвращает значение перед уменьшением. Если используемый префикс (например, --x), то возвращает значение после уменьшения.

Например, если x - 3, то утверждение

y = x --

Уменьшает x до 2 и присваивает y равное 3.

Если x - 3, то утверждение

y = -- x

Уменьшает x до 2 и присваивает y равное 2.

Унарное вычитание (-)

Унарный оператор вычитания должен предшествовать его операнду. Например,

x = -x

Вычитает значение x; например, если бы x был равен 3, то стал бы равным -3.

Побитовые Операторы

Побитовые операторы воздействуют на операнды как набор битов (0 и 1). Например, десятичное число 9 имеет двоичное представление 1001. Побитовые операторы выполняют действия на таких двоичных представлениях, но они возвращают стандартное JavaScript численное значение.

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

Побитовые логические операторы работают следующим образом:

  • Операнды преобразованы в 32-битные целые числа, и выражения строк битов (0 и 1).
  • Каждый бит в первом операнде соединен с соответствующим битом во втором операнде: первый бит к первому биту, второй бит ко второму биту, и так далее.
  • Оператор применяется к каждой паре битов, и результат создан побитовым.

Побитовые операторы:

  • Побитовый И & возвращает 1, если оба операнда 1.
  • Побитовый ИЛИ | возвращает 1, если любой операнд 1.
  • Исключающее побитовое ИЛИ ^ возвращает 1, если есть 1 но не оба операнда 1.

Например, бинарное представление 9 - 1001, и бинарное представление 15 - 1111. Так, когда побитовые операторы применяются к этим значениям, то результаты выглядят следующим образом:

  • 15 & 9 возвращает 9 (1111 & 1001 = 1001)
  • 15 | 9 возвращает 15 (1111 | 1001 = 1111)
  • 15 ^ 9 возвращает 6 (1111 ^ 1001 = 0110)


Побитовые Операторы сдвига

Побитовые операторы сдвига:

  • Сдвит влево (<<)
  • Сдвиг вправо (>>)
  • Сдвиг вправо с заполнением нулями (>>>)

Операторы сдвига присваивает два операнда: первый - количество на которое будет сдвинуто, и второй определяет число битовых положений, которыми первый операнд должен быть сдвинут. Направление действия сдвига управляется использующим оператором.

Операторы сдвига преобразуют операнды к 32-битное целое число, и возвращают результат того же самого типа что и левый оператор.

Сдвит влево (<<)

Сдвиг влево перемещает все биты влево на количество позиций, указанных в правой части выражения, заполняя освободившиеся позиции нулямию

Например, 9<<2 возвращает 36, потому что 1001 сдвигается на 2 бита влево и становится равным 100100, что равно в дисятеричной системе 36.

Сдвиг вправо (>>)

Cдвиг вправо заполняет освободившиеся слева позиции значением самого левого бита исходного значения.

Например, 9 >> 2 возвращает 2, потому что 1001 сдвигается на два бита вправо и становится 10, что равно в дисятеричной системе 2. Аналогично, -9 >> 2 возвращает -3, потому что знак сохраняется.

Сдвиг вправо с заполнением нулями (>>>)

Сдвиг вправо с заполнением нулями работает аналогично сдвигу влево, только в противоположном направлении.

Например, 19>>>2 возвращает 4, потому что 10011 сдвигается на два бита вправо и становятся 100, что равно в дисятеричной системе 4. Для postive чисел, ноль - заполняет правый сдвиг, и распространяющийся знак сдвигается вправо выдает тот же самый результат.

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

Логические операторы принимают логические (Булевы) значения как операнды. Они возвращают логическое значение. Логические значения true(истина) и false(ложь).

И (&&)

Использование: expr1 && Expr2

Логический "и" возвращает оператор true, если оба логических выражения и expr1 и expr2 true. Иначе, возвращается false.

Или (||)

Использование: expr1 || expr2

Логический "или" возвращает оператор true, если хотя бы одно из логических выражений или expr1 или expr2 true. Если и expr1 и expr2 false, то это возвращается false.

Нет (!)

Использование:! Expr

Логический оператор "нет" - унарный оператор, который отрицает выражение операнда expr. То есть если expr true, то возвращает false, и если expr false, то возвращает true.

Вычисление...

Так как логические выражения вычисляются слева направо, то они проверены для возможного вычисления "короткой цепи", используя следующее правило:

  • false && Какая - нибудь - короткая цепь, оцененная как false.
  • true || Какая - нибудь - короткая цепь, оцененная как true.

Логическое правило гарантирует, что эти вычисления будут всегда правильными.

Операторы Сравнения (==, >, >, =<, <=,!=)

Оператор сравнения сравнивает его операнды и возвращает логическое значение, основанное на том, является ли сравнение true или false. Операнды могут быть численными или строковыми значениями. Когда используется на строковых значениях, то сравнения основывается на стандартном лексикографическом порядке.

Операторы:

  • Равно (==): возвращает true, если операнды равны.
  • Не равно (!=): возвращает true, если операнды не равны.
  • Больше чем (>): возвращает true, если левый операнд больше чем правый операнд. Пример: x>y возвращает true, если x больше чем y.
  • Больше или равно чем (>=): возвращает true, если левый операнд больше чем или равен правому операнду. Пример: x>=y возвращает true, если x больше или равен чем y.
  • Меньше чем (<): возвращает true, если левый операнд - меньше чем правый операнд. Пример: x<y возвращает true, если x - меньше чем y.
  • Меньше или равно чем (< =): возвращает true, если левый операнд - меньше или равен правому операнду. Пример: x<= y возвращает true, если x - меньше или равен y.


Операторы Строки

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

"my " + "string"

Возвращает строку

"my string"

Оператор происвоения += может также использоваться, чтобы конкатенировать строки. Например, если переменнай mystring - строка, которая имеет значение "alpha", затем выражение

 Mystring + = "bet"
Вычисляет как "alphabet" и приписывает это значение mystring.

Старшинство Оператора

Старшинством операций называется порядок, в котором выполняются операции в сложных выражениях. Операции на одном уровне имеют равное старшинство. Вычисления производятся слева направо для всех бинарных операций, начиная с операций, перечисленных в верхней части списка, и заканчивая операциями в нижней части.

Старшинство операторов, от самого низкого до самого высокого будут следующие:

Запятая,
Присвоение =+=-=*=/=%=<<=>>=>>>=&=^=|=
Выбор по условию ? :
Логическое ИЛИ ||
Логическое И &&
Побитовы ИЛИ |
Побитовый исключающее ^
Побитовое И &
Неравенство !=
Равенство/Неравенство == !=
Сравнение <<=>> =
Побитовый сдвиг << >> >>>
Сложение/вычитание + -
Умножите/деление * / %
Отрицание/дополнение/унарный минус/инкремент/декремент ! ~ - ++ --
Вызов, передача параметров () [].
электростанции в аренду
индекс цитирования javascript.svoisait.ru