Подтвердить что ты не робот

Что означает символ "_" (подчеркивание) в Node.js REPL?

Я играл в Node.js с некоторым кодом, когда заметил эту вещь:

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

Что здесь делает символ подчеркивания?

> _
'hello worldhello wor'
4b9b3361

Ответ 1

_ символ возвращает результат последнего зарегистрированного выражения в консоли REPL node:

> 2 * 2
4
> _
4

Как написано в документации, в 6.x и более поздних версиях node это поведение можно отключить, установив значение на _ явно:

> [ '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

Ответ 2

_ в консоли node возвращает результат последнего выражения.

> 1 + 2
3
> _
3