我已经看到了在node.js中实例化可读流的许多方法,我有点困惑。
var Readable = require('stream').Readable;
var rs1 = Readable(); // the first way
var rs2 = new Readable; // the second way
var rs3 = new Readable(); // the third way
他们完全一样吗?如果没有,有什么区别?
对于 stream.Readable
,它们都是等效的。
当称为function
(无new
)时,将会创建一个new
实例:
function Readable(options) {
if (!(this instanceof Readable))
return new Readable(options);
// ...
}
,当被称为构造函数(使用new
)时,括号是当没有参数时可选的。
句法new constructor[([arguments])]