当我注意到这件事时,我正在使用一些代码在Node.js中播放:
> 'hello world'.padEnd(20);
'hello world '
> 'hello world'.padEnd(20, _);
'hello worldhello wor'
下划线符号在这里做什么?
> _
'hello worldhello wor'
答案 0 :(得分:25)
_
返回最后一个表达式的结果。
> 1 + 2
3
> _
3
答案 1 :(得分:8)
_
符号返回REPL节点控制台中最后记录的表达式的结果:
> 2 * 2
4
> _
4
如documentation所述,在6.x及更高版本的节点中,可以通过明确地将值设置为_
来禁用此行为:
> [ 'a', 'b', 'c' ]
[ 'a', 'b', 'c' ]
> _.length
3
> _ += 1
Expression assignment to _ now disabled.
4
> 1 + 1
2
> _
4
但在旧版本中,此功能不起作用:
> [ 'a', 'b', 'c' ]
[ 'a', 'b', 'c' ]
> _.length
3
> _ += 1
4
> 1 + 1
2
> _
2