1. 程式人生 > 其它 >可選鏈操作符 ?.

可選鏈操作符 ?.

技術標籤:ES6+es6/es7

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的新特性。