Странное подчеркивание имени переменной, созданное в оболочке 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.

0 ответов

Другие вопросы по тегам