Почему эти выражения JavaScript работают неожиданно [дубликаты]

1

Есть несколько синтаксисов javascript, и я не понимаю, почему они работают.

1.

({} === {}) // returns false 

2.

function foo() {
       return
       {
          foo: 'bar'
       }
    }

    function bar() {
       return {
          foo: 'bar'
       }
    }

(typeof foo() === typeof bar()) //return false again

3.

([1,2,3] == [1,2,3]); //very interesting false again
Теги:
syntax

1 ответ

1

Во всех этих случаях контрольная проверка выполняется на объектах слева и справа от оператора сравнения. Это возвращает false, потому что, хотя они выглядят одинаково, они фактически являются разными экземплярами.

  • 0
    Сохранить для № 2 (см. Комментарий Тушара)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню