Node.js REPL中的“_”(下划线)符号是什么意思?

时间:2017-09-25 22:01:41

标签: javascript node.js

当我注意到这件事时,我正在使用一些代码在Node.js中播放:

> 'hello world'.padEnd(20);
'hello world         '
> 'hello world'.padEnd(20, _);
'hello worldhello wor'

下划线符号在这里做什么?

> _
'hello worldhello wor'

2 个答案:

答案 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