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

Большинство операторов известно нам еще с начальных классов, к примеру:
- +
- -
- /
- *
- =
Они все используются в JavaScript, но есть нюансы.
Нюансы касаются операторов: +, -, *. Они в JavaScript умеют немного больше, чем в обычной математике.
Унарный/бинарный плюс
К примеру, с помощью оператора + можно складывать не только числа, но и строки:
'a' + 'b'; // получим: 'ab'
'1' + '3'; // получим: '13'  Стоит быть крайне внимательными, когда пытаетесь сложить 2 числа, а точнее, это вы думаете, что там 2 числа, а на самом деле там могут оказаться строки. И всё, приплыли, выдаст ошибку.
Кстати, значения, к которым ты хочешь применить любой оператор, называются аргументами или операндами.
Чтобы такой чумы не случилось, можно использовать функцию JavaScript под названием Number, а можно использовать еще одну супер способность оператора +: преобразование к числу. Это я тоже уже показывал в одном из предыдущих уроков:
let a = '45';
let b = +a;  В данном случае, переменная b будет иметь значение 45 и тип, внимание – Number. Оператор + поставленный перед любым значением, будет пытаться преобразовать это значение к типуNumber. В данном случае его называют унарным плюсом, что означает лишь одно: плюс применяется только к одному операнду. 
Запись такого типа, не должна тебя пугать:
console.log(+'1' + +'3'); // получим значение: 4Здесь происходит следующее: тот плюс, который стоит непосредственно перед складываемым значением является унарным, он имеет больший приоритет для JavaScript. Т.е., сначала произойдет преобразование к числам, и только потом отработает бинарный плюс.
Бинарный плюс – оператор, который применяется уже к 2-м операндам (аргументам). 
Небольшой пример бинарного плюса:
1 + 4;В предыдущем уроке о циклах, я упомянул такие термины, как инкремент и декремент. Разберем эти понятия.
Инкремент
Инкремент просто-напросто увеличивает текущее значение переменной на единицу:
let a = 3;
a++; 
console.log(a); // получим значение: 4Как видишь, плюсики стоят после переменной. Такая запись инкремента называется постфиксной формой. Но есть еще префиксная форма.
Префиксная форма точно так же, как и постфикснаяувеличивает значение на единицу. Но в чем же тогда разница, спросишь ты? А вот в чем:
let a = 5;
console.log(a++); // что выведет?Думаешь, что в консоль выведется значение 6? А вот и нет, в консоль выведется старое значение 5. Значение в данном случае увеличивается после того, как ты вызвал инкремент, а не в момент его вызова. 
А вот префикснаяработает так, как ты ожидал от постфиксной:
let a = 5;
console.log(++a); // выведет значение 6Префиксная форма меняет значение переменной перед тем, как вывести в консоль и поэтому все работает более логично.
Декремент
Декремент уменьшает текущее значение переменной на единицу:
let a = 3;
a--; 
console.log(a); // получим значение: 2Декремент тоже имеет префиксную и постфиксную формы.
Важное замечание: инкремент, как и декремент можно использовать только с переменной. Просто к значению его применить нельзя – словите ошибку.
Возведение в степень
JavaScript позволяет достаточно просто возвести любое число в любую степень. Для этого используется оператор **:
2 ** 3; // читать, как "два в третей степени": 8
3 ** 2; // читать, как "три во второй степени": 9Остаток от деления
И еще один полезный оператор – %.  Оператор позволяет нам получить остаток после деления. Пример:
11 % 2; // получим значение: 1
8 % 3; // получим значение: 2В первом случае: 11 не делится на 2 без остатка. Максимальное число, которое делится на 2 без остатка в данном примере – это 10. Получается, что остаток здесь равен единице (11 - 10).
Во втором случае все ровно так же: Максимальное число, которое делится без остатка в данном случае – это 6. Вычитая из значения 8 значение 6, получаем: 2.
Именно значение остатка и предоставляет нам этот оператор.
Домашнее задание
Сегодня совсем байтовое домашнее задание. Весь код я вынес в новый для тебя онлайн-редактор (Repl.it). Ещё раз изучи код и попробуй со всем поиграться самостоятельно.
Last updated
Was this helpful?
