Внимание! На этой странице вы найдете материал урока из архивного курса по JavaScript. Курс был написан в 2015 и по-прежнему актуален для начинающих веб-разработчиков.
Теоретический материал сохранен в исходном виде, а практические задания с автоматической проверкой вынесены в отдельные роадмапы.
Полный список уроков доступен по тегу Архивный курс по JavaScript и на странице первого урока.
Операторы являются неотъемлемой частью языка программирования JavaScript. Они используются и в арифметических выражениях, и в выражениях сравнения, и в логических выражениях. Далее таблица операторов JavaScript:
- Инкремент (
++) - добавляет единицу к значению переменной. Унарный оператор++может располагаться как спереди так и сзади. В двух следующих примерах показано это различие:
var a = 1, b;
b = ++a; /* b = a = 2 */
document.write(a + '<br>' + b);
var a = 1, b;
b = a++; /* b = 1, a = 2 */
document.write(a + '<br>' + b);
- Декремент (
--) - уменьшает значение переменной на единицу. Унарный оператор--может располагаться как спереди так и сзади. В двух следующих примерах показано это различие:
var a = 1, b;
b = --a; /* b = a = 0 */
document.write(a + '<br>' + b);
var a = 1, b;
b = a--; /* b = 1, a = 0 */
document.write(a + '<br>' + b);
- Минус (
-) - вычитание
var a = 2, b = 1;
var c = a - b; /* -> 1 */
- Плюс (
+) - сложение чисел, склеивание строк, преобразование в число
a = 2;
b = 1;
c = a + b; /* -> 3 */
a = "Hello ";
b = "World!";
c = a + b; /* -> 'Hello World!' */
a = "3";
b = 3;
c = a + b;
document.write(c); /* -> '33' */
a = "3";
b = 3;
c = +a + b; /* +a - преобразование в число */
document.write(c); /* -> 6 */
- Поразрядная инверсия (
~)
- Логическая инверсия (
!)
if (!a) {...}
var a = true;
!a /* -> false */
- Удаление свойств (
delete)
delete variable;
- Определение типа операнда (
typeof)
var a = 5;
typeof a; /* -> 'number' */
- Возврат неопределенного значения (
void)
- Умножение, деление, деление с остатком (
* / %)
a = 5;
b = a * 2; /* -> 10 */
- Сдвиг влево (
<<) - Сдвиг вправо с сохранением знака (
>>) - Сдвиг вправо с заполнением нулями (
>>>)
- Сравнение чисел и строк (
< <= > >=)
if (a >= b) {...}
- Проверка на принадлежность классу (
instanceof) - Проверка наличия свойства (
in)
- Проверка равенства без учета принадлежности типу данных (
==)
if (a == b) {...}
- Проверка неравенства без учета принадлежности типу данных (
!=)
if (a != b) {...}
- Проверка равенства с учетом принадлежности типу данных (
===)
if (a === b) {...}
- Проверка неравенства с учетом принадлежности типу данных (
!==)
if (a !== b) {...}
- Поразрядное И (
&) - Поразрядное ИСКЛЮЧАЮЩЕЕ ИЛИ (
^)
- Логическое И (
&&)
if (a == 0 && b != 5) {...}
- Логическое ИЛИ (
||)
if (a == 0 || b != 5) {...}
- Выбор второго или третьего операнда (тернарный оператор) (
?:)
max = (a > b) ? a : b;
- Присваивание (
=)
var a, b;
a = b = 0;
- Операции с присваиванием (
+= -= *= /= %= ^= |= и т.д.)
a = 5;
a += 5; /* a = a + 5 -> 10 */
b = 4;
b *= 2; /* b = b * 2 -> 8 */
c = 3;
c *= c + 2; /* c = c * (c + 2) -> 15 */
В следующем уроке разберемся с приоритетом операторов.
Переходите к следующему уроку курса, а так же не забудьте посмотреть новый материал на Codebra по тегу JavaScript.
