Странное подчеркивание имени переменной, созданное в оболочке NodeJS
Я обнаружил следующее поведение в оболочке NodeJS:
$ node
> function foo () { _ }
undefined
> _
undefined
Почему _
переменная определена? Я ожидал получить ReferenceError: _ is not defined
,
Если я создаю функцию стрелки, _
будет ссылкой на функцию:
$ node
> () => _
[Function]
> _
[Function]
> _.toString()
'() => _'
Почему это происходит?
После звонка toString()
на _
переменная, _
конвертируется в строку:
> _
'() => _'
Я пытался использовать _ => ()
и у нас та же проблема:
$ node
> _ => {}
[Function]
> _
[Function]
> _.toString()
'_ => {}'
> _
'_ => {}'
я использую node v5.6.0
, Это не воспроизводится в файле, а только в оболочке NodeJS.