Выражения

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

? Арифметические выражения.

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

Операции

Описание операций

++, --, -

Инкремент, декремент, унарный минус

*, /, %

Умножение, деление, деление по модулю

+, -

Сложение, вычитание

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

Операция деления по модулю, также относится к бинарным операциям. Результатом операции является остаток от деления первого операнда на второй. Например, в результате выполнения операции ostatok=23%5 переменной ostatok будет присвоено значение 3.

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

В том случае, когда операция используется в операторе присваивания, положение знака операции влияет на ее результат следующим образом. Если знак операции предшествует операнду, то сначала выполнится операция, а потом переменной слева от знака "=" будет присвоено полученное значение, в противном случае сначала будет выполнено присваивание, а потом выполнится операция.

Операция унарный минус изменяет знак операнда на противоположный.

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

? Выражения сравнения.

В выражениях сравнения используются операции:

• > — больше;

• < — меньше;

• == — равно;

• >= — больше или равно;

• <= — меньше или равно;

• ! = — не равно.

В качестве операндов операции сравнения можно использовать данные любых типов. Однако для практических целей, как правило, имеет смысл сравнивать числовые данные с числовыми данными, а строковые — со строковыми данными. При сравнении строк сравниваются коды первых символов, а в случае их равенства — коды вторых символов и так далее до первого несовпадения, причем соотношение длин строк значения не имеет. При полном совпадении всех символов равными считаются только строки одинаковой длины, в противном случае меньшей будет более короткая строка. Результат операции сравнения — логическое значение true, если утверждение справедливо, и false — если нет.

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

Кроме перечисленных операций сравнения, существуют еще две операции, требующие дополнительных разъяснений:

• === — строго равно;

• ! == — строго не равно.

При выполнении обычных операций равно (==) и не равно (! = ) в случае сравнивания разнотипных данных, они будут преобразовываться к одному типу.

При выполнении операций строго равно (===) и строго не равно (!==) преобразование типов не производится. В случае сравнения разнотипных данных результатом всегда будет false.

? Логические выражения.

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

• && — логическая операция И;

• | | — логическая операция ИЛИ;

• ! — логическая операция НЕ.

Операнды всех логических операций должны быть логического типа, результат операции также логический, т. е. true или false. 

Результаты выполнения логических операций И и ИЛИ

X

Y

X&&Y

X || Y

true

true

true

true

true

false

false

true

false

true

false

true

false

false

false

false

Использование в качестве операндов логических литералов не имеет практического значения, и первые два примера приведены лишь для демонстрации записи операций.

Операция НЕ относится к числу унарных операций, она изменяет значение операнда на противоположное.

Примеры логической операции НЕ:

! true

результат: false; !false

результат: true; X=true ! X

результат: false.

? Строковые выражения.

В строковых выражениях операндами являются строки символов. Основная операция над строками — операция соединения строк (конкатенации). Соединение строк обозначается знаком плюс (+). Например:

STR="Java"+"Script"

В результате операции переменной str будет присвоено значение "JavaScript".

? Смешанные выражения.

В смешанных выражениях допускается использование операций разного типа, из числа приведенных выше. При записи таких выражений следует учитывать приоритетность выполнения операций и в случае необходимости (для повышения приоритета) использовать круглые скобки.

Приоритетность выполнения операций

Операции

Описание операций

Инкремент, декремент, унарный минус, логи

ческая операция НЕ

*, /, %

Умножение, деление, деление по модулю

+, -

Сложение, вычитание

Меньше, больше, меньше или равно, больше

или равно

= =, !=, = = = , != =

Равно, не равно, строго равно, строго не рав

но

&&

Логическая операция И

II

Логическая операция ИЛИ