0
var session = {}
session.query = {}
session.query.username = "foo";
if(session.query.username)
console.log('surname exists');
if(session.query2.username)
console.log('surname exists');
控制這個代碼拋出此異常:「類型錯誤:無法讀取屬性‘QUERY2’的未定義」不深的對象存在的NodeJS
在計算器搜查,發現該解決方案:
...
if(session && session.query2 && session.query2.username)
console.log('surname exists')
但這是非常長的,我有非常嵌套的對象的控件,所以我不能使用這種方法。有什麼簡單的方法可以使用嗎?
你可以試試這個[回覆](http://stackoverflow.com/a/15399878/828197)並讀一點更詳細的[分析](https://coderwall.com/p/cvbgia )的答案。 – Ragnarokkr
另一種方法是將此檢查包裝到'try-catch'塊中。但關鍵是,你不應該試圖避免構造代碼,以便這種檢查是必要的。 – raina77ow
@Ragnarokkr我真的無法在Google搜索或Stackoverflow搜索中找到它。我認爲它會回答我的問題。謝謝! – xecute