ES6 的 Javascript Object() 与 new Object()

Javascript Object() vs new Object() for ES6

提问人:mishar 提问时间:8/28/2023 更新时间:8/28/2023 访问量:83

问:

我看过很多关于 vs 或 vs 的问题,但我想知道 和 之间有什么区别?换句话说,用 vs not 调用构造函数有什么区别?new Objectnew Object()new Object(){}Object()new Object()Objectnew

我在 StackOverflow 上看到了另一个答案,但它是关于 ES5 的。我想知道 ES6 吗?

我还问,因为 MDN 在他们的构造函数页面上指出:Object()

注意:可以带或不带 ,但有时效果不同。请参阅返回值Object()new

但是在该页面的“返回值”部分下,我无法辨别这些“不同的效果”可能是什么?

JavaScript 对象 ECMASCRIPT-6 构造函数 new-operator

评论

2赞 Bergi 8/28/2023
ES6 afaik没有改变这一点。我很想把这个问题作为重复的问题来结束。
0赞 Bergi 8/28/2023
充其量,他们删除了有关没有实现实际使用的特殊大小写主机对象的部分。您自己检查过 ES6 规格吗?
0赞 Bergi 8/28/2023
"我无法辨别这些“不同的效果”可能是什么?- 可能是您链接的问题的答案中提到的那些 - 实际上没有。
2赞 jsejcksn 8/28/2023
根据当前的规范,返回值没有区别——当调用时,它们都会在没有参数的情况下产生一个普通对象。最好两者都不要(除非您正在按功能进行编程),而是使用新的对象文本:.const obj = {};
1赞 Bergi 8/28/2023
@mishar 在这种情况下,你可能想发布一个答案,并为 MDN 提交一个问题

答: 暂无答案