Стиль кода: нормально ли встроенная инициализация объектов JS? - PullRequest
4 голосов
/ 03 февраля 2010

Я часто использую встроенную инициализацию (см. Пример ниже), особенно в операторе switch, когда я не знаю, какой цикл попадет.Мне легче читать заявления, чем если бы.

Но это хорошая практика или она повлечет за собой побочные эффекты или снижение производительности?получить советы по стилю кодирования?

Ответы [ 2 ]

7 голосов
/ 03 февраля 2010

Другим часто используемым шаблоном для этого является использование оператора Logical OR || (чуть более читабельного, чем ваше троичное ИМХО):

//...
var obj = o || {};

Этот оператор вернет свой второй операнд, если первый оценивается как false, в противном случае он вернет первый.

Безопасно использовать его, когда вы ожидаете объект, так как эти значения falsy равны null, undefined, NaN, 0, строке нулевой длины и, конечно, false.

Я считаю полезным установить значения по умолчанию для аргументов функции, когда, конечно, любое из значений falsy ожидается действительным для функции:

function test (arg1) {
  arg1 = arg1 || "default value";
  //..
}
7 голосов
/ 03 февраля 2010

Почему бы просто не объявить это вне цикла?

var o = {};
for (var i in array) {
  o[array[i]] = 1;
}

В противном случае нет, я не вижу проблем с тем, что вы делаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...