Есть ли лучший способ сделать это?Зависимый тип объекта Проверка Javascript кажется избыточным
Если я это сделать:
if(typeof someObject[bar][foo] == "function"){
// Do something
}
я получаю ошибку someObject[bar][foo] is not an object
которой он со ссылкой на someObject[bar]
если bar
не существует. Это означает, что код предполагает, что вы знаете, что определено значение someObj[bar]
. Так что мое решение было было это:
if(typeof someObj[bar] === "object"){
if(typeof someObject[bar][foo] == "function"){
// Do something
}
}
Если мы хотим, чтобы приложить усилия, чтобы сократить строки коды и сделать хороший, чистый, читаемый код, то выглядит излишним и некрасиво. Есть ли лучший способ сделать это без необходимости проходить через два if
баллов? Я понимаю, что дело не в этом, но мне интересно, есть ли лучший способ.
вы пробовали 'если (someObj.hasOwnProperty (бар)) {} '? Нет привязанных строк ... ofcourse –
Проверьте это fddle http://jsfiddle.net/4rjjxdzh/ – PashaB
@PashaB, вот что я имею в виду: https://jsfiddle.net/powerphillg5/mobsrut5/ Посмотрите на журнал. –