Согласие на обработку персональных данных.

11.12.2019
Новые видео и статья Orwell Dev Cpp.

07.12.2019
Новые видео и статья Как изменить шрифт в HTML.

03.12.2019
Новый выпуск журнала Автоматизация и Программирование.

26.11.2019
Новые видео и статья Классы, конструкторы и прототипы в JavaScript.

22.11.2019
Новые видео и статья Функции в JavaScript.



Раздел: Сайтостроение / JavaScript /

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

Что такое JavaScript Что такое JavaScript

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

В этой статье я по возможности кратко расскажу о выражениях и операторах JavaScript. Если вы знаете С/С++ или Java, то можете только пробежаться по статье, чтобы увидеть некоторые отличия. Если же нет, либо знаете не очень хорошо, то советую прочитать внимательно.

Как всегда напоминаю, что полный обучающий курс по JavaScript можно найти здесь:

>>> JavaScript, jQuery и Ajax с нуля до гуру >>>

Выражения в JavaScript

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

Самые простые выражения - это литералы. Литерал - это некая постоянная запись в исходном коде программы (константа): значение, ключевое слово и т.п. Примеры литералов в JavaScript:

3.14                      //Числовой литерал
"Привет, МИР!"            //Строковый литерал
false                     //Логический литерал
null                      //Литерал значения null
/java/                    //Литерал регулярного выражения
{x:100, y:100}            //Объектный литерал
[10, 20, 30, 40]          //Литерал массива
function(x){return x+2;}  //Функциональный литерал
Res                       //Переменная Res

Значение выражения-литерала – это просто значение самого литерала.

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

Эти простые выражения-литералы можно объединять в более сложные выражения. Например, 3.14 - это выражение, и Res - это тоже выражение. И вот это:

Res + 3.14

тоже будет выражением, но уже более сложным, состоящим из двух простых. Значением этого выражения будет итог сложения значения переменной Res и числа 3.14. И таким образом можно составлять сколь угодно сложные выражения.

Операторы языка JavaScript

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

Если вы знакомы с C/C++, то большинство операторов JavaScript не окажутся для вас чем-то новым (см. таблицу ниже).

В таблице первый столбец содержит приоритет оператора (чем больше число - тем выше приоритет; о приоритетах можно почитать здесь).

Операторы языка JavaScript

Приоритет Оператор Виды операндов Выполняемые действия (операция)
15 . Объект, идентификатор Обращение к свойству
[] Массив, целое число Индексация массива
() Функция, аргументы Вызов функции
new Вызов конструктора Создание нового объекта
14 ++ Левостороннее выражение Префиксный или постфиксный инкремент (унарный)
-- Левостороннее выражение Префиксный или постфиксный декремент (унарный)
- Число Унарный минус (смена знака)
+ Число Унарный плюс (нет операции)
~ Целое число Поразрядное дополнение (унарный)
! Логическое значение Логическое дополнение (унарный)
delete Левостороннее значение Аннулирование определения свойства (унарный)
typeof Любой Возвращает тип данных (унарный)
void Любой Возвращает неопределенное значение (унарный)
13 *, /, % Числа Умножение, деление, остаток
12 +, - Числа Сложение, вычитание
+ Строки Объединение (конкатенация) строк
11 << Целые числа Сдвиг влево
>> Целые числа Сдвиг вправо с расширением знакового разряда
>>> Целые числа Сдвиг вправо с дополнением нулями
10 <, <= Числа или строки Меньше чем, меньше или равно
>, >= Числа или строки Больше чем, больше или равно
instanceof Объект, конструктор Проверка типа объекта
in Строка, объект Проверка наличия свойства
9 == Любой Проверка на равенство
!= Любой Проверка на неравенство
=== Любой Проверка на идентичность
!== Любой Проверка на неидентичность
8 & Целые числа Поразрядная операция И
7 ^ Целые числа Поразрядная операция исключающего ИЛИ
6 | Целые числа Поразрядная операция ИЛИ
5 && Логические значения Логическое И
4 || Логические значения Логическое ИЛИ
3 ?: Логическое значение, любое, любое Условный трехместный оператор
2 = Левостороннее значение, любое Присваивание
*=, /=, %=, +=, =, <<=, >>=, >>>=, &=, ^=, |= Левостороннее значение, любое Присваивание с операцией
1 , Любой Множественное вычисление

Большинство операторов, таких как +, -, /, * и т.п. являются двухместными, то есть требуют наличия двух операндов (если кто не знает, что такое операнд, то см. здесь).

Также имеются и унарные операторы, например, знак - может быть как бинарным (двухместным), так и унарным. Здесь:

-7

с помощью унарного оператора - мы меняем знак числа 7.

Кроме того, в JavaScript есть один трёхместный оператор ?: (он объединяет в одно значение три выражения).

К сожалению, это далеко не всё, что нужно знать об операторах JavaScript. Но если бы я попытался рассказать всё, то мне пришлось бы написать маленькую книжку. Если хотите знать больше, то получить эти знания можно здесь:

>>> JavaScript, jQuery и Ajax с нуля до гуру >>>


Что такое JavaScript Что такое JavaScript

Небольшая книга о JavaScript, которая поможет вам в изучении JavaScript. В книге и рассылке сведения для начинающих: что такое JavaScript, как это работает, письма, которые помогут принять решение, надо ли вам это или нет, а также полезные ссылки на обучающие материалы. Подробнее...
Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su

Яндекс.Метрика