最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript條件式訪問屬性和箭頭函數(shù)介紹

 更新時(shí)間:2021年11月12日 15:47:26   作者:劉志軍  
這篇文章主要介紹了javascript條件式訪問屬性和箭頭函數(shù),下面文章圍繞條件式訪問屬性和箭頭函數(shù)的相關(guān)資料展開文章內(nèi)容,需要的朋友可以參考一下

一、條件式訪問屬性

?. 是ES2020引入的新特性,是一個條件式屬性訪問操作符,當(dāng)你訪問值為undefined變量的某個屬性值時(shí),如果使用.操作符會直接報(bào)錯,如果使用條件式屬性訪問操作符來訪問會返回undefined。

看例子:

let book = {price:10,
            edition:10,
            name:"javascirpt"
}

console.log(book.page.num)

直接報(bào)錯:

TypeError: Cannot read property 'num' of undefined

因?yàn)?code>book.page 的值 undefined, undefined是沒有任何屬性值的,所以會報(bào)錯。

如果你無法確定某個值是undefined還是對象,除了可以用 if 語句來判斷之外,還可以直接用條件式訪問操作符來訪問某個屬性, 就算被訪問的對象是undefined,也不會報(bào)錯。而是返回 undefined

console.log(book.page?.num)

輸出:

undefined

二、箭頭函數(shù)介紹

箭頭函數(shù)是ES6中出現(xiàn)的一種定義函數(shù)的簡寫方法, 用=>分隔參數(shù)列表和函數(shù)體。

例子:

let square = x=>x**2;

console.log(square(3))

輸出:

9

這個函數(shù)的定義等價(jià)于傳統(tǒng)函數(shù):

function square(x){
    return x**2
}

箭頭函數(shù)通常用于把一個未命名函數(shù)作為參數(shù)傳給另一個函數(shù)。

let nums = [1,2,3,4].map(x=>x*2)

console.log(nums)

輸出:

[ 2, 4, 6, 8 ]

箭頭函數(shù)讓代碼看起來更簡潔了。

如果使用傳統(tǒng)的function關(guān)鍵字來定義函數(shù),看起來就顯得有點(diǎn)啰嗦

nums = [1,2,3,4].map(function(x){return x*2})

console.log(nums)

箭頭函數(shù)如果有多個參數(shù),則需要使用括號括起來

const add = (x,y)=>x+y;

console.log(add(1,2))

如果箭頭函數(shù)的函數(shù)體有多條語句,則要將函數(shù)體用大括號括起來,并用return關(guān)鍵字返回值

const add = (x,y)=>{let tmp=x+y;return tmp};

console.log(add(1,2))

這時(shí)候箭頭函數(shù)的函數(shù)體和普通的function定義的函數(shù)體格式就完全一樣了。所以箭頭函數(shù)在簡單的單行語句中才顯得簡潔,并具有可讀性。一旦函數(shù)體過于復(fù)雜,再用箭頭函數(shù)來定義可讀性就沒那么好了。

到此這篇關(guān)于javascript條件式訪問屬性和箭頭函數(shù)介紹的文章就介紹到這了,更多相關(guān)javascript條件式訪問屬性和箭頭函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

疏勒县| 利川市| 灵山县| 牙克石市| 苏尼特右旗| 苏尼特左旗| 缙云县| 鄂州市| 潢川县| 龙海市| 全椒县| 苏州市| 巴里| 石景山区| 辽宁省| 龙胜| 乌什县| 平武县| 吉水县| 大庆市| 武邑县| 天峨县| 石门县| 巢湖市| 松桃| 化州市| 东港市| 阳江市| 清徐县| 江永县| 霸州市| 鲁山县| 阳原县| 大英县| 历史| 麻城市| 盖州市| 巴青县| 乌拉特前旗| 陆河县| 曲靖市|