亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

一、條件式訪問屬性

?. 是ES2020引入的新特性,是一個條件式屬性訪問操作符,當你訪問值為undefined變量的某個屬性值時,如果使用.操作符會直接報錯,如果使用條件式屬性訪問操作符來訪問會返回undefined

看例子:

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

console.log(book.page.num)

直接報錯:

TypeError: Cannot read property 'num' of undefined

因為book.page 的值 undefined, undefined是沒有任何屬性值的,所以會報錯。

如果你無法確定某個值是undefined還是對象,除了可以用 if 語句來判斷之外,還可以直接用條件式訪問操作符來訪問某個屬性, 就算被訪問的對象是undefined,也不會報錯。而是返回 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ù)的定義等價于傳統(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ù),看起來就顯得有點啰嗦

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

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

相關(guān)文章

  • JavaScript 運行機制詳解再淺談Event Loop

    JavaScript 運行機制詳解再淺談Event Loop

    這篇文章主要介紹了JavaScript 運行機制詳解及淺談了Event Loop,感興趣的小伙伴可以和小編一起閱讀下面文章的具體內(nèi)容
    2021-09-09
  • JavaScript實現(xiàn)棧結(jié)構(gòu)詳細過程

    JavaScript實現(xiàn)棧結(jié)構(gòu)詳細過程

    這篇文章主要介紹了JavaScript實現(xiàn)棧結(jié)構(gòu)詳細過程,棧即stack它是一種受限的線性表,后進先出LIFO,更多具體的內(nèi)容,需要的小伙伴參考下面文章的詳細內(nèi)容
    2021-12-12
  • 詳解lodash中的cloneDeep使用細節(jié)

    詳解lodash中的cloneDeep使用細節(jié)

    這篇文章主要為大家介紹了詳解lodash中的cloneDeep使用細節(jié),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • JS算法題解搜索插入位置方法示例

    JS算法題解搜索插入位置方法示例

    這篇文章主要為大家介紹了JS算法題解搜索插入位置方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • 17個JavaScript?單行程序

    17個JavaScript?單行程序

    這篇文章主要介紹了17個JavaScript?單行程序?,在?JavaScript?代碼的世界里,在保證代碼易讀性的前提下更少等于更好,下面文章將為大家分享17?個?JavaScript?單行程序代碼,希望能幫助到大家
    2021-12-12
  • JS前端使用Canvas快速實現(xiàn)手勢解鎖特效

    JS前端使用Canvas快速實現(xiàn)手勢解鎖特效

    這篇文章主要為大家介紹了JS前端使用Canvas快速實現(xiàn)手勢解鎖特效,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • 前端JavaScript大管家 package.json

    前端JavaScript大管家 package.json

    這篇文章主要介紹了前端JavaScript大管家 package.json,在每個前端項目中,都有package.json文件,它是項目的配置文件,常見的配置有配置項目啟動、打包命令,聲明依賴包等,下面我們就來學習 package.json的詳細內(nèi)容,需要的朋友可以參考一下
    2021-10-10
  • 微信小程序滾動Tab實現(xiàn)左右可滑動切換

    微信小程序滾動Tab實現(xiàn)左右可滑動切換

    這篇文章主要介紹了微信小程序滾動Tab實現(xiàn)左右可滑動切換的相關(guān)資料,這里提供實現(xiàn)實例幫助大家實現(xiàn)這樣的功能,需要的朋友可以參考下
    2017-08-08
  • JavaScript的function函數(shù)詳細介紹

    JavaScript的function函數(shù)詳細介紹

    這篇文章主要介紹了JavaScript的function函數(shù)詳細,而我們的JavaScript腳本語言比較特殊,相對于C語言,它的參數(shù)是不需要數(shù)據(jù)類型加持的。返回值return,我就不過多描述,他是和 C語言通的,如果沒寫他就會自動返回undefined,下面一起來看看文章內(nèi)容,需要的朋友可以參考一下
    2021-11-11
  • 前端JavaScript之Promise

    前端JavaScript之Promise

    這篇文章主要介紹關(guān)于前端JavaScript的Promise,Promise 是異步編程的一種解決方案,下面文章我們就來看看Promise的基本用法及各種方法,需要的朋友可以參考一下,希望對你有所幫助
    2021-10-10

最新評論