2016-03-11 3 views
1

Я столкнулся с двумя противоречивыми соглашениями об именах при использовании nodeJS. Некоторые переменные начинаются с одного подчеркивания, например, _temp, в то время как некоторые начинают с двойного подчеркивания, например __dirname.Двойное подчеркивание против единственного подчеркивания в узлеJS

Я пытался найти ответ на это соглашение о назначении именования. Я проверил Double Underscore in front of a variable, но ответ был очень специфичен для __dirname и __filename. Он не рассматривал конфликтное соглашение об именах.

Будет здорово, если бы кто-то мог предоставить мне ресурс для этого.

+0

http://stackoverflow.com/questions/23884265/double-underscore-in-front-of-a-variable – Dehli

+0

@Dehli я ссылается эту статью себе в мой вопрос, и также указано, почему он не в состоянии ответь на мой вопрос. – chaudharyp

+0

Упс! Думал, что это поможет. Извини за это. – Dehli

ответ

1

Я могу ошибаться, но, насколько мне известно, существует только одно соглашение в js: «если метод или переменная должны быть закрытыми, используйте перед ним подчеркивание - _privateMethod». И даже этот является своего рода «неофициальным». Двойное подчеркивание не является соглашением об именах. Просто какой-то разработчик из узла решил назвать такую ​​вещь.

+0

Я подозреваю, что мысль о том, что отдельный символ подчеркивания будет зарезервирован для разработчика, чтобы добавить частные свойства, чтобы в качестве фреймворка, Express решил, что они будут использовать двойной символ подчеркивания, чтобы избежать противоречия с любыми свойствами подчеркивания, которые могут использовать их разработчики. Но, как вы говорите, для этого нет «официального» руководства. – jfriend00

2

Даже я новичок в node.js и в поиске ответа. Найден ответ в документации node.js. Для получения дополнительной информации см. Node.js - Globals.

Как указано выше, переменная с единственным подчеркиванием (_private) предназначена для определения частной переменной.

Двойное подчеркивание (__) не имеет никакого соглашения в node.js. Были только две переменные (называемые глобальными объектами) с двойными подчеркиваниями в node.js.

__dirname: используется, когда, чтобы получить имя каталога, который находится в настоящее время выполнения скрипта в

__filename:. Используется для получения имени файла кода выполняется.