var session = {}
session.query = {}
session.query.username = "foo";
if(session.query.username)
console.log('surname exists');
if(session.query2.username)
console.log('surname exists');
этот код выдает это исключение: «TypeError: Не удается прочитать свойство„QUERY2“неопределенной»делает глубокий объект существует контроль в nodejs
искали в StackOverflow и нашел это решение:
...
if(session && session.query2 && session.query2.username)
console.log('surname exists')
, но это очень длинный, и у меня есть элементы управления вложенными объектами, поэтому я не могу использовать этот метод. Есть ли какой-нибудь короткий метод, который я могу использовать?
вы можете попробовать это [ответ] (http://stackoverflow.com/a/15399878/828197) и прочитать немного более подробно [анализ] (https://coderwall.com/p/cvbgia) этого ответа. – Ragnarokkr
Другой подход заключается в переносе этой проверки в блок try. Но дело в том, что вы не должны пытаться избежать структурирования кода, чтобы этот тип проверки был необходим. – raina77ow
@ Ragnarokkr Я действительно не смог найти его в Поиске Google или в Stackoverflow Search. Думаю, это ответит на мой вопрос. Спасибо! – xecute