以下这两种写法有什么区别?
let obj = new object();
let obj = {};
new Object()
和 {}
没有区别,只是声明方式不同,但如果代码修改了全局 Object
构造函数,如 Object = 'abc'
,那 new Object()
将会报错,{}
仍然正常
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答5.2k 阅读✓ 已解决
1 回答3.3k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
前者多了
__proto__
指向赋值和this
指向赋值,从执行效率上来讲后者这种字面量直接赋值会更高一些(实际使用中其实可忽略不计,V8 对此是有优化的);从执行结果上看二者没区别。P.S. 题目中应为
new Object()
,对于类名来说首字母大写。