У меня есть
Прежде всего, является ли этот оператор троичного оператора действительным и эффективным для того, что я хочу сделать? Здесь есть потенциальные ловушки?
parent.settings.account ? var account = parent.settings.account : error();
Во-вторых, есть ли более краткий способ написать это утверждение?
Некоторые из этих переменных являются необязательными, но, если они определены, имеют диапазон допустимых значений. Какой надежный способ справиться с этим? Как то так?
if (parent.settings.polling_interval && parent.settings.polling_interval >= 1000 && parent.settings.polling_interval <= 5000) {
var polling_interval = parent.settings.polling_interval;
} else {
var polling_interval = 3000; // default
}
Обычно, если он не определен или находится вне диапазона, я хочу использовать значение по умолчанию.
Могу ли я полагаться только на условное утверждение, подобное:
if (parent.settings.polling_interval) { ... }
или мне нужно проверить, не определено ли оно, как это?
if (typeof parent.settings.polling_interval !== 'undefined') { ... }
Есть ли что-то более надежное и / или сжатое? Спасибо за любой совет.