function main(config){
const dbHost = config && config.db && config.db.host;
console.log(dbHost)
}
main({
db:{
host:'192.168.20.60',
userName:'liuy'
},
cache:{
host:'192.168.20.80',
userName:'admin'
}
})
使用链式操作符之前,我们使用上面代码进行判断,判断是否传了config ,如果传了,判断是否传入config.db,再判断是否传入了host。如果不判断就会报错。
使用链式操作符来判断,如下:
function main(config){
const dbHost = config?.db?.host;
console.log(dbHost)
}
main({
db:{
host:'192.168.20.60',
userName:'liuy'
},
cache:{
host:'192.168.20.80',
userName:'admin'
}
})
即便是不传,也不会报错
function main(config){
const dbHost = config?.db?.host;
console.log(dbHost)
}
main()
可选链操作符 ?.是ES11的新特性。