Я играл в Node.js с каким-то кодом, когда заметил эту вещь:
> 'hello world'.padEnd(20);
'hello world '
> 'hello world'.padEnd(20, _);
'hello worldhello wor'
Что здесь делает символ подчеркивания?
> _
'hello worldhello wor'
Я играл в Node.js с каким-то кодом, когда заметил эту вещь:
> 'hello world'.padEnd(20);
'hello world '
> 'hello world'.padEnd(20, _);
'hello worldhello wor'
Что здесь делает символ подчеркивания?
> _
'hello worldhello wor'
Символ _
возвращает результат последнего зарегистрированного выражения в консоли узла REPL:
> 2 * 2
4
> _
4
Как написано в документации, в 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
_
в консоли узла возвращает результат последнего выражения.
> 1 + 2
3
> _
3
__previousResult__
, то этот вопрос никогда бы не был задан.
- person aaaaaa; 26.09.2017