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