В JavaScript символы “=” (оператор присваивания), “==” (оператор равенства) и “===” (оператор строгого равенства) имеют разное назначение. Вот объяснение их различий:
-
“=” (Оператор присваивания):
Оператор “=” используется для присвоения переменной. Он присваивает значение в правой части оператора переменной в левой части. Например:let x = 5; -
“==” (Оператор равенства):
Оператор “==” используется для свободного сравнения на равенство. Он сравнивает значения с обеих сторон и при необходимости выполняет приведение типов. Это означает, что перед сравнением он пытается преобразовать операнды к общему типу. Например:console.log(5 == "5"); // true console.log(true == 1); // true -
“===” (Оператор строгого равенства):
Оператор “===” используется для сравнения строгого равенства. Он сравнивает значения с обеих сторон без приведения типов. Он возвращает true только в том случае, если значения имеют один и тот же тип и имеют одинаковое значение. Например:console.log(5 === "5"); // false console.log(true === 1); // false
Дополнительные методы сравнения в JavaScript включают:
-
“!=” (Оператор неравенства):
Оператор “!=” является противоположным оператору “==”. Он проверяет неравенство и при необходимости выполняет приведение типов. -
“!==” (Оператор строгого неравенства):
Оператор “!==” является противоположностью оператора “===”. Он проверяет строгое неравенство без приведения типов. -
Метод Object.is():
Метод Object.is() сравнивает два значения на равенство. Он возвращает true, если значения одинаковы, учитывая все крайние случаи, включая NaN и -0. Например:console.log(Object.is(5, "5")); // false console.log(Object.is(true, 1)); // false -
Операторы сравнения (<, >, <=, >=):
JavaScript также поддерживает операторы сравнения для сравнения числовых значений. Эти операторы возвращают логическое значение на основе результата сравнения.