以下两行代码应完全相同。第一个更冗长,但这应该是唯一的区别。但是,第二个例子导致错误。为什么呢?
以下作品:
var Model = require('./Model');
new Model();
但是,Uncaught Error: Cannot find module './Model'
new require('./Model')();
答案 0 :(得分:4)
它与运算符优先级有关。如果你这样做,它将起作用:
new (require("./Model"))();
发生的事情是:
(new require("./Model"))()