Object("value") от let b = Object("value")
в переменных ведь будут одинаковые объекты?
"When called in a non-constructor context, Object behaves identically to new Object()." Походу так и есть
При вызове в не-конструкторном контексте, Object ведёт себя идентично коду new Object().
Объекты одинаковые только когда переменные ссылаются на одну область памяти, тут ссылки будут разные
Вопрос именно про Object или в целом про подобный способ вызова конструктора?
Вызов конструктора без ключевого слова new обычно допускается только касательно стандартных JS классов например Array и Object В случае пользовательских классов в случае ES6 классов такой код бросит исключение, а в случае ES5 классов может привести к очень неприятным ошибкам (смотри скриншот)
Обсуждают сегодня