说我有以下对象
var book = {
title: "Javascript Secrets",
author: "Dummy Mc Dumm",
}
我想测试book.collection.name
,知道book.collection
可以是undefined
。
如何避免这样的嵌套测试?
if(book.collection){
if(book.collection.name == "foo")
// success
}
提出TypeError: Cannot read property 'name' of undefined
答案 0 :(得分:3)
逻辑AND运算符(&&
)是短路的,如果第一个表达式为假,将跳过第二个表达式
if(book.collection && book.collection.name == "foo"){
// success
}