Какое наименьшее количество кода необходимо выполнить следующие действия:объект Javascript обнаружения собственности
Если объект существует и имеет требуемое свойство и свойство не является пустой строкой, то установить переменную в значение свойство else устанавливает переменную в строку по умолчанию.
Предполагая, что переменная объекта может быть неопределенной или действительным объектом, она никогда не может быть функцией, нулем, строкой или чем-либо еще. Также, если объект имеет требуемое свойство, это строка и никогда ничего.
Решение этой проблемы может быть:
// obj is the object we are testing, prop is the name of the property, def is the default string
var result = def;
if (obj && obj[prop] && obj[prop].length) {
result = obj[prop];
}
ли это совершенно правильно, я не уверен.
Но есть ли более короткий путь?
Спасибо,
AJ
Вот как я это сделаю. Это читаемо и делает то, что вы намерены. – kinakuta
Поскольку этот вопрос о том, чтобы оптимизировать рабочий код, я отметил его для перехода на [CodeReview.SE]. – Scimonster