在Node.js REPL中,为什么会发生这种情况?
所以当我发现一些非常奇怪的东西时,我正在玩Node.js REPL和Underscore库。 如果我require("underscore")
,variables_
被全局设置(显然)。 然后,当我试图运行一个简单的命令,如console.log(_.isEmpty)
它打印[Function]
(显然,再次)。 但是,在_.isEmpty
运行console.log(_)
后,它会打印[Function]
因为variables_
被设置为_.isEmpty
。
为什么这样做呢? 如果我从一个js文件运行相同的代码,这不会发生。 这是一个正常的节点事情还是这是一个总的错误?
仅供参考:节点v.10.10.10
节点的REPL总是将_
设置为最后一行的结果。
> 2 2 > _ 2 > 2+2 4 > _ 4 >
您需要使用不同的标识符:
var u = require("underscore"); u.isEmpty