Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.08.2012, 04:41
Новичок на форуме
Отправить личное сообщение для BOGa Посмотреть профиль Найти все сообщения от BOGa
 
Регистрация: 06.08.2012
Сообщений: 3

Использование нижнего подчеркивания перед/после идентификатора
В JavaScript для обозначения частных членов принято в качестве префикса идентификатора использовать нижнее подчеркивание:
this._veryPrivate = 0;


Но иногда в библиотечном коде нижнее подчеркивание используется в качестве суффикса идентификатора:

https://github.com/joyent/node/blob/...lib/fs.js#L548
fs.symlink = function(destination, path, type_, callback) {
  var type = (typeof type_ === 'string' ? type_ : null);
}


https://github.com/isaacs/npm/blob/m...ib/npm.js#L227
npm.load = function (conf, cb_) {
  if (!cb_ && typeof conf === "function") cb_ = conf , conf = {}
  if (!cb_) cb_ = function () {}
  if (!conf) conf = {}
}


Что обозначает этот суффикс? Предполагаю, что так обозначаются аргументы функции со значением по-умолчанию, но хотелось бы быть в этом увереннее.

В этом же коде используются нижнее подчеркивание используется, в качестве префикса. Так что это не просто особенности наименования частных членов в данной конкретной библиотеке.

Последний раз редактировалось BOGa, 06.08.2012 в 04:44.
Ответить с цитированием
  #2 (permalink)  
Старый 06.08.2012, 08:50
Новичок на форуме
Отправить личное сообщение для BOGa Посмотреть профиль Найти все сообщения от BOGa
 
Регистрация: 06.08.2012
Сообщений: 3

Сообщение от Maxmaxmахimus
что свойство обеькта внутреннее и не должно использоваться из вне..
Как я и написал для обозначения внутренних свойств в качестве префикса используется нижнее подчеркивание.
А что обозначает нижнее подчеркивание (суффикс) в аргументе функции?
Ответить с цитированием
  #3 (permalink)  
Старый 06.08.2012, 10:58
Аватар для DreamTheater
Профессор
Отправить личное сообщение для DreamTheater Посмотреть профиль Найти все сообщения от DreamTheater
 
Регистрация: 15.02.2011
Сообщений: 471

Нижнее подчеркивание как префикс - приватное свойство, как суффикс - необязательный аргумент функции. Посмотрите внимательно, в начале функции идет его обработка.
Ответить с цитированием
  #4 (permalink)  
Старый 06.08.2012, 15:41
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от BOGa
В JavaScript для обозначения частных членов принято в качестве префикса идентификатора использовать нижнее подчеркивание:
Кем принято? Где принято?

Капитан как бы намекает, что оформление кода проекта определяется его стайлгайдом. Великого Единого Стайлгайда JavaScript не существует. Поэтому смотрите стайлгайды интересующих Вас проектов, выбирайте свой.
Так, в node, например, придерживаются Гуглового JS стайлгайда.

P.S. Правда, не похоже, чтобы стайлгайд хоть как-нибудь соблюдался, ибо
Цитата:
Private properties, variables, and methods (in files or classes) should be named with a trailing underscore.
Цитата:
Optional function arguments start with opt_
Ответить с цитированием
  #5 (permalink)  
Старый 07.08.2012, 02:39
Новичок на форуме
Отправить личное сообщение для BOGa Посмотреть профиль Найти все сообщения от BOGa
 
Регистрация: 06.08.2012
Сообщений: 3

Всем спасибо за ответы.
Цитата:
Великого Единого Стайлгайда JavaScript не существует.
Согласен. Я неправильно выразился. ...В JavaScript некоторых проектах принято для обозначения частных членов использовать нижнее подчеркивание...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск