Далее на странице...
- Сложение строк и чисел - Унарный плюс
- Оператор % - Остаток от деления
- Оператор равенства - Присваивание
- Оператор сравнения - Два знака равно
- Строгое равенство - Три знака равно
- Логические операторы И и ИЛИ
- Оператор отрицания - НЕ !
- Порядок выполнения операторов
- Неравенство !=
- Сравнение по типу и по значению
Здесь речь пойдет о том, какие основные операторы используются в JavaScript.
Начнем с самых простых и всем известных: это операторы сложения, вычитания, умножения и деления. Из этих четырех особняком стоит оператор сложения.
Потому что при сложении строки и числа результатом будет строка. Это называется конкатенацией - сложение/соединение строк.
Остальные три оператора работают иначе. Подробнее о математических операторах и о преобразовании строк и чисел читайте здесь.
Сложение строк и чисел - Унарный плюс
Рассмотрим несколько примеров сложения строк и чисел и узнаем, что такое унарный плюс.
Пример 1.1 - Сложение строк и чисел
// Сложение строк --> Результат строка
console.log('Hi' + ' Bill');
// Сложение строки и числа --> Результат строка
console.log('Hi number ' + 2);
// Сложение строки и числа --> Результат строка
console.log('5' + 2);
// Перед строкой унарный плюс --> Результат число
console.log(+'5' + 2);
// Перед строкой унарный плюс --> Результат NaN
console.log(+'Hi number ' + 2);
В последних примерах перед строкой стоит знак плюс +. Как известно при этом происходит преобразование строки в число. Такой плюс называется унарным.
Унарный плюс - это плюс, который ставится перед чем-то/перед каким-либо аргументом/операндом. Таким образом унарный плюс для своей работы использует только один аргумент.
Результатом последнего выражения является NaN - не число, потому что имеет место бессмысленная математическая операция.
Помимо стандартных математических операторов, в JavaScript часто используются операторы сравнения: больше >, больше или равно >= и меньше <, меньше или равно =<. Они будут рассмотрены позже.
Оператор % - Остаток от деления
Оператор % возвращает остаток от деления двух чисел/двух операндов.
Пример 4.1
console.log(5%2);
Результат
1
Оператор равенства - Присваивание
Нередко новички путаются с оператором равенства =.
Так вот, если оператор равенства используется один раз, то это обозначает присваивание. В примерах, рассмотренных в предыдущих статьях, использовалось присваивание (один знак равно).
Например, такая запись let incr = 10 говорит о том, что переменной incr присвоено значение/число 10.
Оператор сравнения - Два знака равно
Если же мы хотим что-то сравнить, то оператор равенства следует использовать 2 раза.
При помощи оператора сравнения == можно проверить действительно ли (правдиво/истинно ли) то или иное выражение/равенство.
Пример 5.1
console.log(2*4 == 8);
Результат
true
2 умножить на 4 действительно равно 8, поэтому в результате мы видим true.
Что будет если число 8 заключить в кавычки (ведь это будет уже строка)?
Пример 5.2
console.log(2*4 == '8');
Результат
true
В результате мы снова видим true. Потому что в данном случае (при использовании оператора двойного равенства) происходит сравнение по значению, но не по типу данных.
Оператор сравнения (два знака равно) == - это не строгое равенство.
Строгое равенство - Три знака равно
Изменим код в примере 5.2 - используем оператор строго равенства === - три знака равно.
Пример 6.1
console.log(2*4 === '8');
Результат
false
В результате мы видим false, потому что число 8 не равно строке '8'. Это разные типы данных.
Чтобы код из примера 6.1 был истинным, он должен выглядеть так:
Пример 6.2
console.log(2*4 === 8);
Результат
true
О двойном и тройном операторах равенства и примерах их использования читайте также здесь.
Логические операторы И и ИЛИ
Переходим к следующему виду операторов в JavaScript. Это логические операторы И и ИЛИ.
Логический оператор И записывается как два амперсанда &&. Выражение с участием оператора И возвращает true (является истинным), когда каждый из операндов выражения является истинным - true.
Логический оператор ИЛИ записывается как две вертикальные черты ||. Выражение с участием оператора ИЛИ возвращает true, когда хотя бы один из операндов является истинным - true.
Пример 7.1
const isChecked = true,
isClose = true;
console.log(isChecked && isClose);
Результат
true
Истина И Истина в результате дают Истину - true.
Пример 7.2
const isChecked = true,
isClose = false;
console.log(isChecked && isClose);
Результат
false
Истина И Ложь в результате дают Ложь - false.
Логический оператор И работает аналогично и с большим числом операндов.
Логический оператор ИЛИ
Логический оператор ИЛИ работает иначе. Продолжим работать с примером 7.2, только теперь будет задействован логический оператор ИЛИ ||.
Пример 7.3
const isChecked = true,
isClose = false;
console.log(isChecked || isClose);
Результат
true
Истина ИЛИ Ложь в результате дают Истину - true. Хотя бы один из аргументов/операндов должен быть истинным.
Оператор отрицания - НЕ !
Оператор отрицания обозначается восклицательным знаком ! и преобразует логическое значение в противоположное.
То есть истинное значение true оператор отрицания НЕ преобразует в ложное - false и наоборот: false конвертирует в true.
Пример 8.1
const isChecked = false,
isClose = false;
console.log(isChecked || isClose);
Результат
false
Логическое выражение ложь ИЛИ ложь возвращает ложь - false.
Воспользуемся оператором отрицания НЕ.
Пример 8.2
const isChecked = false,
isClose = false;
console.log(isChecked || !isClose);
Результат
true
Теперь мы видим true, так как выражение ложь ИЛИ НЕ ложь, то есть ложь ИЛИ истина возвращает истину - true.
Порядок выполнения операторов
Порядок выполнения операторов в JavaScript это интересная тема, которая также поднимается в математике и которую нужно знать и понимать.
Рассмотрим следующее выражение.
Пример 9.1
console.log(2 + 2 * 2 === 8);
Результат
false
Оператор сравнения === (строгое равенство) в этом выражении выполняется последним.
Чтобы лучше понимать, в какой последовательности работают операторы, специально существует таблица приоритета операторов.
В этой таблице самые приоритетные операторы расположены сверху. Соответственно внизу расположены операторы, которые используются в коде в последнюю очередь.
Подробнее о приоритете операторов и о том, как пользоваться таблицей приоритета операторов читайте здесь.
Неравенство !=
Оператор неравенства часто применяется в JavaScript. Он складывается из двух составляющих восклицательного знака и оператора присваивания !=.
Вернемся к примеру 9.1, только теперь вместо оператора строго равенства === применим оператор неравенства !=.
Пример 9.2
console.log(2 + 2 * 2 != 8);
Результат
true
В результате мы видим true, потому что действительно 6 не равно 8.
Сравнение по типу и по значению
Поработаем еще немного с логикой и с примером 9.2.
Как в JavaScript происходит сравнение по типу данных и по значению.
Пример 9.3
console.log(2 + 2 * 2 != '6');
Результат
false
В результате мы видим false, потому что в данном случае происходит сравнение по значению: 6 не равно 6 и, естественно, это ложь.
С оператором строго неравенства результат будет иным.
Пример 9.4
Результат
console.log(2 + 2 * 2 !== '6');
Результат
true
Здесь мы видим true, потому что число 6 не равно строке '6' и это правда.