Я видел код, который идет вдоль линииЧто вызывает вызов Object без использования нового?
Object(existingObject).myMethod();
Является ли это отличается от вызова existingObject.myMethod()
напрямую? В общем, что делает объект (x)?
Я видел код, который идет вдоль линииЧто вызывает вызов Object без использования нового?
Object(existingObject).myMethod();
Является ли это отличается от вызова existingObject.myMethod()
напрямую? В общем, что делает объект (x)?
Конструктор объектов создает обертку объекта для данного значения. Если значение равно null или undefined, оно создаст и вернет пустой объект , в противном случае он вернет объект с типом, который соответствует указанному значению. Если значение уже является объектом, оно вернет значение .
В вашем случае, поскольку значение уже является объектом, оно просто вернет значение existingObject
. Итак, нет, это не совсем так, как напрямую звонить existingObject.myMethod
.
Вы должны указать ссылку на цитаты. В частности, фраза «Конструктор объектов создает ...» на самом деле должна быть «Когда вызывается как функция, конструктор объекта создает ...», чтобы более точно соответствовать [ECMA-262] (http://ecma-international.org/ecma -262/5,1/# втор-15.2.1.1). – RobG
Я могу выкопать это RobG, спасибо за подсказку :) – Hacknightly
Он создает объект обертку – adeneo
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object – adeneo