Понимание разницы между =, == и === в JavaScript

В JavaScript символы «=”, «==” и «===” используются для разных целей. Вот объяснение их различий:

  1. “=” (Оператор присваивания):
    Оператор “=” используется для присвоения переменных в JavaScript. Он присваивает значение в правой части переменной в левой части. Например:

    let x = 10;

    В приведенном выше примере переменной x присвоено значение 10.

  2. “==” (Оператор равенства):
    Оператор “==” используется для свободного сравнения равенства в JavaScript. Он сравнивает значения с обеих сторон, при необходимости выполняя приведение типов. Приведение типов означает, что JavaScript попытается преобразовать операнды к одному и тому же типу перед выполнением сравнения. Например:

    console.log(10 == "10"); // true
    console.log(true == 1); // true

    В первом примере строка «10» перед сравнением преобразуется в число. Во втором примере логическое значение true перед сравнением преобразуется в число 1.

  3. “===” (Оператор строгого равенства):
    Оператор “===” используется для строгого сравнения на равенство в JavaScript. Он сравнивает значения с обеих сторон без приведения типов. Чтобы операнды считались равными, они должны иметь одинаковый тип и значение. Например:

    console.log(10 === "10"); // false
    console.log(true === 1); // false

    В обоих приведенных выше примерах операнды имеют разные типы, поэтому сравнение строгого равенства возвращает false.

Подводя итог, можно сказать, что оператор “=” используется для присваивания, “==” — для свободного сравнения на равенство с приведением типа, а “===” — для строгого сравнения на равенство без приведения типов.