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

Здравствуйте, уважаемые посетители моего скромного блога для начинающих вебразработчиков и web мастеров ZametkiNaPolyah.ru. Продолжаем рубрику Заметки по JavaScript. Совсем недавно были публикации: JavaScript число, JavaScript строки и JavaScript символы, преобразование число в строку JavaScript и строку в число JavaScript, была публикация посвященная типам данных JavaScript и вставки JavaScript в HTML.

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

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

Операторы JavaScript  можно разделять по-разному. JavaScript операторы можно разделять по приоритету выполнения оператора в программе на языке JavaScript. JavaScript операторы можно разделить по количеству операндов JavaScript требуемых для того или иного JavaScript оператора. JavaScript операторы можно разделить по ассоциативности операторов. Ассоциативность операторов JavaScript – это то, как читается JavaScript выражение интерпретатором: слева направо или справа налево.

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

Выражения JavaScript – это, в сущности, любая строка, написанная на языке JavaScript. Это может переменная JavaScript, любой JavaScript литерал. И как вы уже поняли тема сегодняшней публикации JavaScript операторы и выражения JavaScript.


JavaScript выражения.

JavaScript выражения – это любые фразы и строки кода, написанные на языке JavaScript. Самым простым примером JavaScript выражения является переменная JavaScript. JavaScript литералы – это тоже JavaScript выражение. Чуть более сложные JavaScript выражения – это функции JavaScript.

Это все JavaScript выражения, выражениями могут быть логические значения JavaScript, специальные значения JavaScript такие как: null и undefined, регулярное выражение JavaScript тоже является выражением.

Все вышеперечисленные выражения JavaScript являются простыми выражениями, при помощи операторов JavaScript можно объединять простые JavaScript выражения в сложные.

Здесь мы объединили два простых JavaScript выражения(переменную JavaScript и число) в одно сложное выражение при помощи арифметического оператора сложения. То есть, JavaScript операторы объединяют простые выражения JavaScript в сложные выражения. В данном случае JavaScript оператор сложения является бинарным оператором, так как ему требуется два JavaScript операнда, чтобы получилось сложное выражение. Также бывают тернарные операторы JavaScript и унарные операторы JavaScript.

Можно сделать еще более сложное выражение:

В данном случае я добавил еще два оператора JavaScript: оператор () и оператор — . Таким образом, JavaScript выражение стало еще более сложным, конечно, данные примеры притянуты за уши и на самом деле придется составлять более сложные JavaScript выражения, но для объяснения они в самый раз, думаю, можно переходить к JavaScript операторам.

JavaScript операторы. Все операторы JavaScript.

Если вы знакомы с другими языками программирования, то многие из JavaScript операторов будут вам уже знакомы. В JavaScript операторов не так уж и много и их легко запомнить, особенно если разделить эти операторы на функциональные группы. Как и в математике, у JavaScript операторов есть приоритет выполнения. Приоритет выполнения операторов JavaScript – это то, в какой последовательности будут обрабатываться операторы интерпретатором.

JavaScript операторы могут записывать как символами JavaScript (+, — , *, /). Запятая – это тоже JavaScript оператор. JavaScript оператор может быть ключевым словом, например оператор typeof. У JavaScript операторов есть ассоциативность. Ассоциативность операторов – это направления выполнения оператора(слева направо или справа на лево). Каждый JavaScript оператор выполняет различные функции.

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

  • Бинарные операторы JavaScript объединяют два JavaScript выражение в одно, и для их работы требуется два операнда JavaScript.
  • Унарные операторы JavaScript требует для своей работы только один JavaScript операнд.
  • Тернарные операторы JavaScript объединяют три JavaScript выражения в одно и поэтому для их работы необходимо три операнда.

При написании программ на языке JavaScript все эти факторы нужно учитывать! Перейдем к JavaScript операторам.

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

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

Арифметические операторы JavaScript
JavaScript оператор Ассоциативность оператора JavaScript Тип операнда, который принимает JavaScript оператор Операция, которую выполняет JavaScript оператор Тип оператора JavaScript
Инкремент

JavaScript

(++)
Справа налево JavaScript числа Увеличивает JavaScript переменную на единицу (инкрементирует) Унарный оператор JavaScript
Декремент

JavaScript

(--)
Справа налево JavaScript числа Уменьшает JavaScript переменную на единицу (декрементирует) Унарный оператор JavaScript
Вычитание

JavaScript

(-)
Слева направо JavaScript числа Вычитает из одного JavaScript операнда другой Бинарный оператор JavaScript
Сложение

JavaScript

(+)
Слева направо JavaScript числа Складывает два JavaScript операнда. Бинарный оператор JavaScript
Унарный минус

JavaScript

(-)
Справа налево JavaScript числа Меняет знак переменной или числа Унарный оператор JavaScript
Унарный

плюс

JavaScript

(+)
Справа налево JavaScript числа Не выполняет никаких операций Унарный оператор JavaScript
Деление

по модулю

JavaScript

(%)
Слева направо JavaScript числа Делит по модулю JavaScript переменные и числа Бинарный оператор JavaScript
Деление

JavaScript

(/)
Слева направо JavaScript числа Делит JavaScript переменные и числа Бинарный оператор JavaScript
Умножение

JavaScript

(*)
Слева направо JavaScript числа Перемножает JavaScript переменные и числа Бинарный оператор JavaScript

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

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

Логические операторы JavaScript, как и в любом другом языке программирования, например PHP, выполняют операции булевой алгебры. Обычно, логические операторы используют совместно с операторами сравнения и JavaScript инструкциями циклов (while, for) или инструкцией условием if. В JavaScript всего три логических оператора: логическое И(&&), логическое НЕ(!) и логическое ИЛИ(||).

Логические операторы JavaScript
JavaScript оператор Ассоциативность оператора JavaScript Тип операнда, который принимает JavaScript оператор Операция, которую выполняет JavaScript оператор Тип оператора JavaScript
Логическое И(&&) JavaScript Слева направо Логические значения JavaScript (Значения логической истинности) Логическое И (похоже на сложение чисел) Бинарный оператор JavaScript
Логическое НЕ(!) JavaScript Справа налево Логические значения JavaScript (Значения логической истинности) Логическое отрицание (похоже на смену знака числа) Унарный оператор JavaScript
Логическое ИЛИ(||) JavaScript Слева направо Логические значения JavaScript (Значения логической истинности) Логическое ИЛИ (похоже на перемножение чисел) Бинарный оператор JavaScript

Логические операторы JavaScript могут работать только со значениями логической истинности true и false (логические значения), то есть эти операторы действуют по принципу булевой алгебры (сложение, умножение в двоичной системе счисления). Про системы счисления вы можете прочитать в публикации посвященной модели RGB, про логические значения JavaScript читайте соответствующую публикацию и скоро появится публикация, посвященная логическим операторам JavaScript.

Строковые операторы JavaScript.

Строковые операторы JavaScript – это операторы, которые могут работать со строками JavaScript. При помощи строковых операторов можно складывать строки, сравнивать, задавать порядок строк. Строковые операторы JavaScript похожи на арифметические операторы и операторы сравнения. Интерпретатор JavaScript определяет тип выполняемой операции из контекста программы, если в качестве операндов в JavaScript выражение используются числа JavaScript, то выполняются арифметические операции и операции сравнения чисел, но, если в качестве операндов выступают JavaScript строки, то операторы интерпретируются как строковые операторы JavaScript.

Строковые операторы JavaScript.
JavaScript оператор Ассоциативность оператора JavaScript Тип операнда, который принимает JavaScript оператор Операция, которую выполняет JavaScript оператор Тип оператора JavaScript
Конкатенация

JavaScript (+)
Слева направо Строки JavaScript Конкатенация строк JavaScript Бинарный оператор JavaScript
Больше чем

JavaScript >
Слева направо Строки JavaScript Больше чем (результатом такой операции будет логическое значение) Бинарный оператор JavaScript
Меньше чем

JavaScript <
Слева направо Строки JavaScript Меньше чем (результатом такой операции будет логическое значение) Бинарный оператор JavaScript
Меньше или равно JavaScript<= Слева направо Строки JavaScript Меньше или равно (результатом такой операции будет логическое значение) Бинарный оператор JavaScript
Больше или равно JavaScript>= Слева направо Строки JavaScript Больше или равно(результатом такой операции будет логическое значение) Бинарный оператор JavaScript

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

Операторы равенства JavaScript, неравенства JavaScript, неидентичности JavaScript, идентичности JavaScript.

Операторы равенства JavaScript, в данной группе всего четыре оператора: равенства JavaScript, неравенства JavaScript, неидентичности JavaScript, идентичности JavaScript. Хоть с виду эти операторы и похожи, но на самом деле они выполняют различные функции, результатом выполнения таких операторов будут логические значения. Чаще всего эти операторы используются с инструкцией if и цикле for.

Операторы равенства JavaScript, неравенства JavaScript, неидентичности JavaScript, идентичности JavaScript.
JavaScript оператор Ассоциативность оператора JavaScript Тип операнда, который принимает JavaScript оператор Операция, которую выполняет JavaScript оператор Тип оператора JavaScript
Проверка равенства JavaScript

==
Слева направо Любой JavaScript операнд Проверяет на равенство два выражения Бинарный оператор JavaScript
Проверка идентичности JavaScript

===
Слева направо Любой JavaScript операнд Проверяет на идентичность два выражения Бинарный оператор JavaScript
Проверка неравенства JavaScript

!=
Слева направо Любой JavaScript операнд Проверяет на неравенство два выражения Бинарный оператор JavaScript
Проверка неидентичности JavaScript

!==
Слева направо Любой JavaScript операнд Проверяет на неидентичность два выражения Бинарный оператор JavaScript

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

Операторы отношения JavaScript. Операторы сравнения JavaScript.

Операторы отношения JavaScript и операторы сравнения JavaScript – это операторы, которые что-то с чем-то сравнивают, но если операторы сравнения работают с простыми типами данных, то операторы отношения работают с объектными типами данных: JavaScript массивы, JavaScript объекты, JavaScript функции и т.д... Результатом выполнения этих операторов будут значения логической истинности true или false.

Операторы отношения JavaScript. Операторы сравнения JavaScript.
JavaScript оператор Ассоциативность оператора JavaScript Тип операнда, который принимает JavaScript оператор Операция, которую выполняет JavaScript оператор Тип оператора JavaScript
Больше чем

JavaScript >
Слева направо Числа или строки JavaScript Больше чем (результатом такой операции будет логическое значение) Бинарный оператор JavaScript
Меньше чем

JavaScript <
Слева направо Числа или строки JavaScript Меньше чем (результатом такой операции будет логическое значение) Бинарный оператор JavaScript
Меньше или равно JavaScript<= Слева направо Числа или строки JavaScript Меньше или равно (результатом такой операции будет логическое значение) Бинарный оператор JavaScript
Больше или равно JavaScript>= Слева направо Числа или строки JavaScript Больше или равно(результатом такой операции будет логическое значение) Бинарный оператор JavaScript
Проверка типа объекта JavaScript instanceof Слева направо JavaScript объект, JavaScript конструктор Проверка типа объекта (результатом такой операции будет логическое значение) Бинарный оператор JavaScript
Проверка наличия свойства JavaScript in Слева направо Строки, объекты Проверка на наличие свойства (результатом такой операции будет логическое значение) Бинарный оператор JavaScript

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

Поразрядные операторы JavaScript.

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

Поразрядные операторы JavaScript.
JavaScript оператор Ассоциативность оператора JavaScript Тип операнда, который принимает JavaScript оператор Операция, которую выполняет JavaScript оператор Тип оператора JavaScript
Поразрядное И JavaScript (&) Слева направо Целые числа JavaScript Поразрядное и (выполняется над каждым битом в отдельности) Бинарный оператор JavaScript
Поразрядное ИЛИ JavaScript (|) Слева направо Целые числа JavaScript Поразрядное или (выполняется над каждым битом в отдельности) Бинарный оператор JavaScript
Поразрядное исключающее ИЛИ JavaScript (^) Слева направо Целые числа JavaScript Поразрядное исключающее или (выполняется над каждым битом в отдельности) Бинарный оператор JavaScript
Поразрядное НЕ JavaScript (~) Слева направо Целые числа JavaScript Поразрядное исключающее не (выполняется над каждым битом в отдельности) Бинарный оператор JavaScript
Сдвиг влево JavaScript (<<) Слева направо Целые числа JavaScript Сдвигает биты влево Бинарный оператор JavaScript
Сдвиг вправо с сохранением знака JavaScript (>>) Слева направо Целые числа JavaScript Сдвигает биты вправо и при этом сохраняет знак числа Бинарный оператор JavaScript
Сдвиг вправо с заполнением нулями JavaScript (>>>) Слева направо Целые числа JavaScript Сдвигает биты вправо, а свободные биты заполняет нулями Бинарный оператор JavaScript

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

Операторы присваивания JavaScript. Операторы присваивания с операцией.

Операторы присваивания JavaScript и операторы присваивания с операцией – это операторы, которые можно было бы отнести к арифметическим. Оператор присваивания всего один «=». Не стоит путать оператор присваивания с операторами равенства. Оператор присваивания служит для присваивания какого-либо значения переменной. Оператор присваивания не возвращает никакого результата он лишь указывает интерпретатору, что нужно сохранить в той или иной переменной JavaScript. Переменная – это именованное место памяти.

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

Операторы присваивания JavaScript. Операторы присваивания с операцией.
JavaScript оператор Ассоциативность оператора JavaScript Тип операнда, который принимает JavaScript оператор Операция, которую выполняет JavaScript оператор Тип оператора JavaScript
= Справа налево Любые типы данных JavaScript Присваивает значение переменной Бинарный оператор JavaScript
+= Справа налево Числа JavaScript и строки JavaScript Присваивает значение переменной и увеличивает его на соответствующее значение Бинарный оператор JavaScript
*= Справа налево Все числа JavaScript Присваивает значение переменной и умножает его на соответствующее значение Бинарный оператор JavaScript
-= Справа налево Все числа JavaScript Присваивает значение переменной и уменьшает его на соответствующее значение Бинарный оператор JavaScript
%= Справа налево Все числа JavaScript Присваивает значение переменной и выполняет деление по модулю на соответствующее значение Бинарный оператор JavaScript
/= Справа налево Все числа JavaScript Присваивает значение переменной и делит его на соответствующее значение Бинарный оператор JavaScript
>>>= Справа налево Целые числа JavaScript Присваивает значение переменной и выполняет операцию поразрядного сдвига битов вправо с заполнением нулями Бинарный оператор JavaScript
>>= Справа налево Целые числа JavaScript Присваивает значение переменной и выполняет операцию поразрядного сдвига битов вправо с сохранением знака Бинарный оператор JavaScript
<<= Справа налево Целые числа JavaScript Присваивает значение переменной и выполняет операцию поразрядного сдвига битов влево Бинарный оператор JavaScript
^= Справа налево Целые числа JavaScript Присваивает значение переменной и выполняет операцию поразрядное исключающее ИЛИ Бинарный оператор JavaScript
|= Справа налево Целые числа JavaScript Присваивает значение переменной и выполняет операцию поразрядное ИЛИ Бинарный оператор JavaScript
&= Справа налево Целые числа JavaScript Присваивает значение переменной и выполняет операцию поразрядное И Бинарный оператор JavaScript

Оператор присваивания и операторы присваивания с операцией являются бинарными операторами, все без исключения, их ассоциативность всегда справа налево, это обусловлено символом «=». Оператор присваивания может работать с любыми JavaScript операндами: объекты, функции, массивы, числа, строки, логические значения, значение null, значение undefined, регулярные выражения JavaScript и т.д.

Оператор присваивания  с операцией может работать либо с вещественными числами, либо только с целыми числами, в зависимости от выполняемой операции. Операторы присваивания JavaScript и операторы присваивания с операцией.

JavaScript операторы. Другие операторы JavaScript.

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

Условный оператор JavaScript (?:) – это единственный тернарный оператор JavaScript, его еще называют тернарный оператор JavaScript. Тернарный он потому, что для его работы требуется три операнда. Результатом работы тернарного оператора будет значение логической истинности true или false. Условный оператор обычно используют вместо инструкции if, инструкции условия, иногда это оказывается удобным сокращением.

Оператор создания объекта JavaScript (new) – это оператор, который создает новый JavaScript объект и вызывает функции конструктор JavaScript для инициализации объекта. К сожалению я еще ничего не писал про JavaScript конструкции, а инициализация переменных JavaScript мною была успешно пропущена, но я постараюсь исправить эти недостатки. При помощи JavaScript оператора new у нас появляется возможность присвоить объект какой-либо переменной и собственно инициализировать переменную.

Оператор delete JavaScript – это оператор, с помощью которого можно удалить свойство объекта JavaScript, элемент массива или переменную, понятно, что оператор delete является унарным оператором. Оператор delete возвращает логическое значение true или false, в зависимости от того удалось или нет удалить.

Оператор typeof JavaScript – это унарный оператор JavaScript, который позволяет определить тип данных, хранящихся в переменной. Более подробно про оператор typeof вы сможете прочитать в соответствующей публикации.

Запятая JavaScript. Запятая – это тоже JavaScript оператор, причем оператор запятая является бинарным JavaScript оператором, оператор запятая всегда возвращает значение своего правого операнда.

Оператор void JavaScript – оператор void является унарным оператором. Оператор void довольно необычный, все дело в том, что оператор void заменяет значение любой JavaScript переменной на значение undefined.

Оператор JavaScript — это символ, набор символов или ключевое слово JavaScript (зарезервированное слово JavaScript), за которым закреплено строго определенное действие согласно лексической структуре языка JavaScript.

При помощи JavaScript операторов можно выполнять преобразование строка в число и число в строку JavaScript.

На этом всё, спасибо за внимание, надеюсь, что был хоть чем-то полезен и до скорых встреч на страницах блога для начинающих вебразработчиков и вебмастеров ZametkiNaPolyah.ru. Не забываем комментировать и делиться с друзьями;)

Текст комментария: