How does require work with new operator in node.js?

霸气de小男生 提交于 2019-11-27 14:43:08

These two versions are fundamentally different.

This one:

new (require('./file')).func('r1');

Executes the require, returning the exports of ./file and then calling the new operator on the results .

This one:

var r2 = new require('./file').func('r2');

Invokes require as a constructor.


Let's look at a more isolated and simple example:

new Date() // creates a new date object
new (Date()) // throws a TypeError: string is not a function
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!