国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ES6解構(gòu)對(duì)象、數(shù)組、函數(shù)傳參

這篇具有很好參考價(jià)值的文章主要介紹了ES6解構(gòu)對(duì)象、數(shù)組、函數(shù)傳參。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-600221.html

目錄

?1.對(duì)象解構(gòu)

2.對(duì)象解構(gòu)的細(xì)節(jié)處理

2.1.解構(gòu)的值對(duì)象中不存在時(shí)

2.2.給予解構(gòu)值默認(rèn)參數(shù)?

?2.3.非同名屬性解構(gòu)

3.數(shù)組解構(gòu)

3.1基礎(chǔ)解構(gòu)語(yǔ)法

3.2數(shù)組嵌套解構(gòu)

4.函數(shù)解構(gòu)傳參

5.解構(gòu)小練習(xí)


在ES6的新語(yǔ)法中新增了解構(gòu)的方法,它可以讓我們很方便的從數(shù)組或者對(duì)象身上取數(shù)據(jù),簡(jiǎn)化了大量重復(fù)的代碼,讓我們的代碼更具可讀性和維護(hù)性。

?1.對(duì)象解構(gòu)

在沒(méi)有對(duì)象解構(gòu)的時(shí)期,我們?nèi)绻肽玫綄?duì)象身上的數(shù)據(jù),就要通過(guò)類似于:user.name,這樣的語(yǔ)法來(lái)獲取數(shù)據(jù),如果只是單層解構(gòu)的對(duì)象還好,如果對(duì)象嵌套的解構(gòu)很深,就會(huì)變的非常麻煩,我們的代碼也會(huì)變得非常的贅余,很影響可讀性,所以解構(gòu)語(yǔ)法就應(yīng)運(yùn)而生了。

看下面的代碼,在ES6之前我們?nèi)?duì)象的值必須要這樣

let user = {
  name: 'zs',
  age: 16,
  sex: '男',
  address: {
    pro: '湖南',
    city: '長(zhǎng)沙'
  }
}

//傳統(tǒng)的獲取值
let name = user.name
let age = user.age
let sex = user.sex
let pro = user.address.pro
let city = user.address.city

?有了對(duì)象解構(gòu)后我們的語(yǔ)法就會(huì)變得非常的簡(jiǎn)短,但功能完全沒(méi)變

//對(duì)象解構(gòu)語(yǔ)法
let {name,age,sex,address: { pro, city }} = user

很直觀的就可以看到代碼變得非常的簡(jiǎn)短,讓人非常的舒適

2.對(duì)象解構(gòu)的細(xì)節(jié)處理

2.1.解構(gòu)的值對(duì)象中不存在時(shí)

當(dāng)我們解構(gòu)的值是對(duì)象中不存在的值時(shí)

let user = {
  name: 'zs',
  age: 16,
  sex: '男',
  address: {
    pro: '湖南',
    city: '長(zhǎng)沙'
  }
}
//對(duì)象解構(gòu)語(yǔ)法
let { name, age, gender, address:{ pro,city} } = user
console.log(name, age, gender, pro,city)

?ES6解構(gòu)對(duì)象、數(shù)組、函數(shù)傳參,前端,javascript,es6,前端

比如我們解構(gòu)了一個(gè):gender,但是對(duì)象中并不存在這個(gè)值,此時(shí)該值是:undefined,因?yàn)檫@里要知道的是我們的這一行代碼其實(shí)是定義:let { name, age, gender, address:{ pro,city} },當(dāng)你定義的時(shí)候本身就是沒(méi)有值的,所以就是undefined

2.2.給予解構(gòu)值默認(rèn)參數(shù)?

前面解構(gòu)不存在的值是未定義,那如果要給默認(rèn)值,我們只要給它賦值即可,這就是給與默認(rèn)值

//對(duì)象解構(gòu)語(yǔ)法
let { name, age, gender="女", address:{ pro,city} } = user
console.log(name, age, gender, pro,city)

?ES6解構(gòu)對(duì)象、數(shù)組、函數(shù)傳參,前端,javascript,es6,前端

?2.3.非同名屬性解構(gòu)

這種情況就是當(dāng)我們解構(gòu)的值定義的變量名與對(duì)象中的不一樣時(shí),可以用這種語(yǔ)法:sex:gender,這樣解構(gòu)的值就賦值到gender身上了

let user = {
  name: 'zs',
  age: 16,
  sex: '男',
  address: {
    pro: '湖南',
    city: '長(zhǎng)沙'
  }
}
//對(duì)象解構(gòu)語(yǔ)法
let { name, age, sex:gender, address:{ pro,city} } = user
console.log(name, age, gender, pro,city)

3.數(shù)組解構(gòu)

其實(shí)數(shù)組的解構(gòu)與對(duì)象的解構(gòu)差別不大,在解構(gòu)數(shù)組時(shí)就可以將數(shù)組也看成一個(gè)對(duì)象

3.1基礎(chǔ)解構(gòu)語(yǔ)法

這是可以根據(jù)索引來(lái)解構(gòu)的方法

//數(shù)組解構(gòu)
let arr = ['a', 'b', 'c', 'd']
let { 0: n1, 1: n2 } = arr
console.log(n1, n2) //  a  b
let { 2: n3, 3: n4 } = arr
console.log(n3, n4) // c  d

?也可以這樣子解構(gòu)

//數(shù)組解構(gòu)
let arr = ['a', 'b', 'c', 'd']

let [n1, n2] = arr
console.log(n1, n2) // a  b
let [, , n3, n4] = arr
console.log(n3, n4) // c  d

當(dāng)然數(shù)組結(jié)構(gòu)也是可以攜帶默認(rèn)值的,和對(duì)象解構(gòu)類似,直接賦值即可

3.2數(shù)組嵌套解構(gòu)

//數(shù)組嵌套解構(gòu)
let arr = ['a', 'b', 'c', 'd', [1, 2, 3, 4]]
let [, , , , newArr] = arr
console.log(newArr) // [1,2,3,4]
//獲取第五項(xiàng)中的某一個(gè)值
let [, , , , [, , n3]] = arr
console.log(n3) // 3

4.函數(shù)解構(gòu)傳參

這是我們平常傳入一個(gè)對(duì)象參數(shù),在函數(shù)中要使用的場(chǎng)景

//函數(shù)解構(gòu)傳參
let user = {
  name: 'zs',
  age: 16,
  sex: '男',
  address: {
    pro: '湖南',
    city: '長(zhǎng)沙'
  }
}

function print(user) {
  console.log(`name:${user.name}`)
  console.log(`age:${user.age}`)
  console.log(`sex:${user.sex}`)
  console.log(`pro:${user.address.pro}`)
  console.log(`city:${user.address.city}`)
}
print(user)

有了解構(gòu)之后就會(huì)變得非常簡(jiǎn)單

function print({ name, age, sex, address: { pro, city } } = user) {
  console.log(`name:${name}`)
  console.log(`age:${age}`)
  console.log(`sex:${sex}`)
  console.log(`pro:${pro}`)
  console.log(`city:${city}`)
}
print(user)

?實(shí)戰(zhàn)做項(xiàng)目時(shí),在函數(shù)中我們經(jīng)常會(huì)用到各種參數(shù),可能會(huì)有默認(rèn)值或者沒(méi)有默認(rèn)值,這時(shí)候我們就可以靈活的使用上面的解構(gòu)對(duì)象以及解構(gòu)數(shù)組的方法,讓我們的代碼看起來(lái)更加的簡(jiǎn)潔,我們也能減少很多贅余的代碼,大大提升了代碼的可讀性。

5.解構(gòu)小練習(xí)

5.1,下面是一個(gè)對(duì)象,我們要實(shí)現(xiàn)解構(gòu)出name,然后將其他的所有屬性放到一個(gè)新的對(duì)象中

let user = {
  name: 'zs',
  age: 16,
  sex: '男',
  address: {
    pro: '湖南',
    city: '長(zhǎng)沙'
  }
}

這里利用擴(kuò)展運(yùn)算符即可實(shí)現(xiàn)

let { name, ...obj } = user //利用展開(kāi)運(yùn)算符收集剩下的屬性
console.log(name, obj)

ES6解構(gòu)對(duì)象、數(shù)組、函數(shù)傳參,前端,javascript,es6,前端

5.2,下面有一個(gè)對(duì)象,解構(gòu)出第二條評(píng)論的用戶名和用戶內(nèi)容

let article = {
  title: '文章標(biāo)題',
  content: '文章內(nèi)容',
  comments: [
    {
      content: '評(píng)論1',
      user: {
        id: 1,
        name: '用戶名1'
      }
    },
    {
      content: '評(píng)論2',
      user: {
        id: 2,
        name: '用戶名2'
      }
    }
  ]
}

?利用上面的知識(shí)就可以很輕松的解構(gòu)出我們需要的元素

//解構(gòu)出第二條評(píng)論的用戶名和用戶內(nèi)容
//name:'用戶名2',content:'評(píng)論2'
let {
  comments: [
    ,
    {
      content,
      user: { name }
    }
  ]
} = article

console.log(content, name)

ES6解構(gòu)對(duì)象、數(shù)組、函數(shù)傳參,前端,javascript,es6,前端

?

到了這里,關(guān)于ES6解構(gòu)對(duì)象、數(shù)組、函數(shù)傳參的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【web前端學(xué)習(xí)】7個(gè)ES6解構(gòu)技巧讓代碼更簡(jiǎn)潔

    【web前端學(xué)習(xí)】7個(gè)ES6解構(gòu)技巧讓代碼更簡(jiǎn)潔

    各位前端er,代碼打久了,是否厭倦了編寫臃腫且難以閱讀的代碼?想要提升編碼技能并使代碼更具可讀性和簡(jiǎn)潔性? 今天這篇文章,與小千一起深入學(xué)習(xí) ES6 解構(gòu)的世界,向您展示如何使用它來(lái)編寫更干凈、更高效的代碼 本文將從 解構(gòu)對(duì)象和數(shù)組到使用默認(rèn)值和展開(kāi)運(yùn)算符

    2024年02月05日
    瀏覽(21)
  • 【JavaScript】數(shù)組方法 (ES6)

    arr.find(callback) 用于獲取第 1 個(gè)符合要求的元素: callback : (item, index, arr) = boolean item -當(dāng)前值、 index -當(dāng)前索引、 arr -當(dāng)前數(shù)組 返回值: callback 第一次返回 true 的對(duì)應(yīng) item ;如果沒(méi)有符合的元素,則返回 undefined arr.findIndex(callback) 用于獲取第 1 個(gè)符合要求的元素的下標(biāo): cal

    2024年02月14日
    瀏覽(27)
  • ES6 全詳解 let 、 const 、解構(gòu)賦值、剩余運(yùn)算符、函數(shù)默認(rèn)參數(shù)、擴(kuò)展運(yùn)算符、箭頭函數(shù)、新增方法,promise、Set、class等等

    ? ECMAScript 6.0,簡(jiǎn)稱 ES6,是 JavaScript 語(yǔ)言的下一代標(biāo)準(zhǔn),已經(jīng)在 2015 年 6 月正式發(fā)布了。它的目標(biāo),是使得 JavaScript 語(yǔ)言可以用來(lái)編寫復(fù)雜的大型應(yīng)用程序,成為企業(yè)級(jí)開(kāi)發(fā)語(yǔ)言 要講清楚這個(gè)問(wèn)題,需要回顧歷史。1996 年 11 月,JavaScript 的創(chuàng)造者 Netscape 公司,決定將 JavaSc

    2024年04月15日
    瀏覽(30)
  • 【ES6】JavaScript 中的數(shù)組方法reduce

    【ES6】JavaScript 中的數(shù)組方法reduce

    reduce() 是一個(gè) JavaScript 中的數(shù)組方法,它會(huì)對(duì)數(shù)組的每個(gè)元素執(zhí)行一個(gè)提供的 reducer 函數(shù),將其減少到一個(gè)單一的值。 這是 reduce() 的基本用法: 這里: callback 是一個(gè)用于每個(gè)數(shù)組元素的函數(shù),接受四個(gè)參數(shù): accumulator:累加器累加回調(diào)的返回值。它是上一次調(diào)用回調(diào)時(shí)返回

    2024年02月10日
    瀏覽(22)
  • ES6: 解構(gòu)賦值

    解構(gòu)賦值是一種快速為變量賦值的簡(jiǎn)潔語(yǔ)法,本質(zhì)上仍然是為變量賦值,分為數(shù)組解構(gòu)、對(duì)象解構(gòu)兩大類型。 數(shù)組解構(gòu)是將數(shù)組的單元值快速批量賦值給一系列變量的簡(jiǎn)潔語(yǔ)法,如下代碼所示: 數(shù)組解構(gòu)賦值: eg1: eg2: eg3: eg4: eg5: 交換2個(gè)變量的值 總結(jié): 賦值運(yùn)算符 = 左側(cè)的

    2024年02月09日
    瀏覽(26)
  • 【ES6】—解構(gòu)賦值

    【ES6】—解構(gòu)賦值

    解構(gòu)賦值:解構(gòu)賦值就是一種模式的匹配,只要等號(hào)兩邊的模式完全相同的,那么左邊的變量就會(huì)被賦值對(duì)應(yīng)右邊的值 PS:數(shù)組解構(gòu)賦值時(shí),是通過(guò)索引的唯一性賦值的 (1). ES5 的寫法 (2). ES6 的寫法 ES6的寫法 當(dāng)左右兩邊的結(jié)構(gòu)模式不匹配時(shí),按照左邊變量對(duì)應(yīng)索引的位置賦值

    2024年02月12日
    瀏覽(32)
  • ES6-解構(gòu)

    提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔 ??????es6允許按照一定模式,從數(shù)組和對(duì)象中提取值,對(duì)變量進(jìn)行賦值,稱之為解構(gòu)。 解構(gòu)是es6的新特性,比ES5代碼簡(jiǎn)介、清晰、減少代碼量 ES5中的為變量賦值,只能直接指定值。 es6匹配模式寫法

    2024年02月10日
    瀏覽(22)
  • ES6 解構(gòu)賦值

    解構(gòu)賦值是一種在編程中常見(jiàn)且方便的語(yǔ)法特性,它可以讓你從數(shù)組或?qū)ο笾锌焖偬崛?shù)據(jù),并將數(shù)據(jù)賦值給變量。在許多編程語(yǔ)言中都有類似的特性。 在 JavaScript 中,解構(gòu)賦值使得從數(shù)組或?qū)ο笾刑崛?shù)據(jù)變得簡(jiǎn)單。它可以用于數(shù)組和對(duì)象,并且使用相同的語(yǔ)法來(lái)解構(gòu)它們

    2024年02月14日
    瀏覽(29)
  • ES6 解構(gòu)

    解構(gòu)的語(yǔ)法中, ... (展開(kāi)運(yùn)算符)和 {} (對(duì)象字面量)扮演著不同的角色。 ... (展開(kāi)運(yùn)算符): 在解構(gòu)中, ... 被用作展開(kāi)運(yùn)算符,用于將數(shù)組或?qū)ο笾械氖S嘣孬@取為一個(gè)單獨(dú)的變量。 示例: 在上述示例中, ...rest 表示剩余的數(shù)組元素。變量 a 和 b 分別賦值為數(shù)組的

    2024年02月13日
    瀏覽(33)
  • 【JavaScript】探索ES6中的數(shù)組API:簡(jiǎn)潔高效的操作方式

    ES6 ( ECMAScript 2015 )是 JavaScript 語(yǔ)言的一個(gè)重要版本,為編寫更加簡(jiǎn)潔、便捷和可讀性更高的代碼提供了很多新的特性和 API。想了解ES6所有新增API,可以跳轉(zhuǎn)至我的另一篇博客:JS語(yǔ)法 ES6、ES7、ES8、ES9、ES10、ES11、ES12新特性 其中 數(shù)組相關(guān)的 API 也在 ES6 中得到了大大的增強(qiáng),

    2024年02月09日
    瀏覽(41)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包