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

詳解JS如何進(jìn)行變量解構(gòu)

 更新時(shí)間:2023年11月08日 08:14:42   作者:生命猿于運(yùn)動(dòng)  
JavaScript中,可以使用解構(gòu)賦值的方式來(lái)對(duì)數(shù)組或者對(duì)象進(jìn)行變量解構(gòu),下面小編就來(lái)為大家詳細(xì)介紹一下JavaScript實(shí)現(xiàn)數(shù)組或者對(duì)象解構(gòu)的方法吧

定義

JavaScript中,可以使用解構(gòu)賦值的方式來(lái)對(duì)數(shù)組或者對(duì)象進(jìn)行變量解構(gòu),也可以簡(jiǎn)單的理解為就是對(duì)變量拆解屬性進(jìn)行賦值。

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

數(shù)組解構(gòu)唯一要注意的就是下標(biāo)的位置,只要解構(gòu)賦值變量所處下標(biāo)位置相同,那么就能夠成功解構(gòu)賦值:

數(shù)組長(zhǎng)度等于1

const arr1 = [6];
const [id] = arr1;
console.log(id);	// 6

數(shù)組長(zhǎng)度大于1 按數(shù)組下標(biāo)進(jìn)行索引賦值,僅有一個(gè)id變量:

const arr2 = [1,2,3,4,5];
const [id] = arr2;
console.log(id);	// 1

多個(gè)變量解構(gòu),如果中間有不需要解構(gòu)的,也需要以逗號(hào)進(jìn)行分割,主要確保需要解構(gòu)的索引位置準(zhǔn)確:

const arr3 = [1,2,3,4,5];
const [num1,,num2,,num3] = arr3;
console.log(num1);	// 1
console.log(num2);	// 3
console.log(num3);	// 5

數(shù)組全量解構(gòu),即所有索引位置都對(duì)應(yīng)解構(gòu)參數(shù):

const arr4 = [1,2,3];
const [num1,num2,num3] = arr4;
console.log(num1);	// 1
console.log(num2);	// 2
console.log(num3);	// 3

數(shù)組解構(gòu)默認(rèn)值設(shè)置,使用(變量名=默認(rèn)值)進(jìn)行解構(gòu)默認(rèn)值設(shè)置:

const arr5 = [1,,3];
const [num1,num2=22,num3] = arr5;
console.log(num1);	// 1
console.log(num2);	// 22
console.log(num3);	// 3

用于變量值交換,只需將兩個(gè)或多個(gè)變量存放到等號(hào)兩邊的數(shù)組,對(duì)應(yīng)好要交換的位置即可:

const a=1;
const b=2;
[a, b] = [b, a];
console.log(a + '-' + b);	// 2-1

對(duì)象解構(gòu)

掌握了上面的數(shù)據(jù)解構(gòu),那么對(duì)象解構(gòu)也就不難理解了,數(shù)組與對(duì)象的區(qū)別就是索引方式不同,數(shù)組是根據(jù)下標(biāo)索引,而對(duì)象則是key-value的索引方式,所以這里我們只需要解構(gòu)賦值變量的key相同,那么就能夠成功解構(gòu)賦值:

對(duì)象單個(gè)/多個(gè)參數(shù)解構(gòu)賦值,在等號(hào)左邊定義解構(gòu)對(duì)象對(duì)應(yīng)的key參數(shù)進(jìn)行解構(gòu):

const obj1 = {id:1001, name:'張三'};
const {id, name} = obj1;
console.log(id + '-' + name);	// 1001-張三

對(duì)象解構(gòu)默認(rèn)值設(shè)置,使用(變量名=默認(rèn)值)進(jìn)行解構(gòu)默認(rèn)值設(shè)置:

const obj2 = {id:1002, name:'李四'};
const {id, name, age=18} = obj2;
console.log(id + '-' + name + '-' + age);	// 1002-李四-18

優(yōu)缺點(diǎn)

優(yōu)點(diǎn):

  • 代碼簡(jiǎn)潔明了,便于閱讀和維護(hù)。
  • 可以直接從對(duì)象或數(shù)組中提取需要的屬性或元素,避免編寫大量的取值代碼。
  • 可以同時(shí)定義多個(gè)變量,減少了代碼量和冗余。
  • 多個(gè)變量值的交換變得更加方便。
  • 從對(duì)象、數(shù)組中取值時(shí),默認(rèn)值設(shè)置方便。

缺點(diǎn):

  • 解構(gòu)賦值會(huì)改變?cè)瓕?duì)象或數(shù)組的結(jié)構(gòu),可能會(huì)導(dǎo)致意外的結(jié)果。
  • 嵌套結(jié)構(gòu)的對(duì)象進(jìn)行解構(gòu)相對(duì)復(fù)雜,代碼可讀性差。
  • 需要有一定的js基礎(chǔ),不同于普通的語(yǔ)法基礎(chǔ),需要花些時(shí)間去學(xué)習(xí)。

總結(jié)

js解構(gòu)也是很流行的代碼寫法,掌握基礎(chǔ)的用法也非常簡(jiǎn)單,用上了真的會(huì)停不下來(lái),日常使用也只需要我們上面的案例就夠了,其他的自己有需要可以再深入研究,不過(guò)也不建議研究的太多,因?yàn)槟菚?huì)使代碼可讀性變得更加復(fù)雜。

到此這篇關(guān)于詳解JS如何進(jìn)行變量解構(gòu)的文章就介紹到這了,更多相關(guān)JS變量解構(gòu)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • javascript html 靜態(tài)頁(yè)面?zhèn)鲄?shù)

    javascript html 靜態(tài)頁(yè)面?zhèn)鲄?shù)

    靜態(tài)頁(yè)面中用js獲取頁(yè)面參數(shù)的一些屬性方法,具體的獲取參數(shù),可以搜索本站以前的一些文章。
    2009-04-04
  • webpack 最佳配置指北(推薦)

    webpack 最佳配置指北(推薦)

    這篇文章主要介紹了webpack 最佳配置指北的相關(guān)資料,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • Javascript 實(shí)現(xiàn) Excel 導(dǎo)入生成圖表功能

    Javascript 實(shí)現(xiàn) Excel 導(dǎo)入生成圖表功能

    這篇文章主要介紹了Javascript 實(shí)現(xiàn) Excel 導(dǎo)入生成圖表功能,本文通過(guò)實(shí)例代碼講解給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-10-10
  • Javascript函數(shù)技巧學(xué)習(xí)

    Javascript函數(shù)技巧學(xué)習(xí)

    這篇文章主要介紹了Javascript函數(shù)技巧學(xué)習(xí),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-07-07
  • JavaScript手寫源碼之omit函數(shù)的實(shí)現(xiàn)

    JavaScript手寫源碼之omit函數(shù)的實(shí)現(xiàn)

    最近突然有個(gè)新的想法,想去看看前端的小庫(kù)來(lái)提升自己的編碼能力。但是又不知道怎么去證明自己是否真的看懂了,那就實(shí)現(xiàn)一個(gè)omit函數(shù)吧
    2023-02-02
  • ES6的內(nèi)置對(duì)象擴(kuò)展實(shí)現(xiàn)示例

    ES6的內(nèi)置對(duì)象擴(kuò)展實(shí)現(xiàn)示例

    本文主要介紹了ES6的內(nèi)置對(duì)象擴(kuò)展實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • JS循環(huán)中正確使用async、await的姿勢(shì)分享

    JS循環(huán)中正確使用async、await的姿勢(shì)分享

    async?/?await是ES7的重要特性之一,也是目前社區(qū)里公認(rèn)的優(yōu)秀異步解決方案,下面這篇文章主要給大家介紹了關(guān)于JS循環(huán)中正確使用async、await的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-12-12
  • JavaScript構(gòu)建自己的模板小引擎示例

    JavaScript構(gòu)建自己的模板小引擎示例

    這篇文章主要介紹了JavaScript構(gòu)建自己的模板小引擎,結(jié)合實(shí)例形式分析了javascript自定義模板引擎的實(shí)現(xiàn)與使用方法,需要的朋友可以參考下
    2018-12-12
  • 判斷是否安裝flash player及當(dāng)前版本的JS代碼

    判斷是否安裝flash player及當(dāng)前版本的JS代碼

    本文為大家講述下如何使用jsJS判斷是否安裝flash player及版本,下面的處理代碼或許對(duì)大家有所幫助,感興趣的朋友可以參考下,希望對(duì)大家有所幫助
    2013-08-08
  • JavaScript實(shí)現(xiàn)外溢動(dòng)態(tài)愛(ài)心的效果的示例代碼

    JavaScript實(shí)現(xiàn)外溢動(dòng)態(tài)愛(ài)心的效果的示例代碼

    這篇文章主要為大家介紹了如何利用JavaScript制作出簡(jiǎn)單的外溢動(dòng)態(tài)愛(ài)心的效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴快跟隨小編一起動(dòng)手試一試
    2022-03-03

最新評(píng)論

历史| 柳江县| 财经| 邛崃市| 邵阳县| 甘孜| 兴安县| 巴塘县| 略阳县| 嘉定区| 重庆市| 池州市| 馆陶县| 武陟县| 新民市| 万宁市| 肇东市| 紫金县| 山阴县| 襄樊市| 民丰县| 呼伦贝尔市| 巴彦县| 布拖县| 寻甸| 延津县| 太保市| 方正县| 茂名市| 吉木乃县| 渭源县| 卓资县| 十堰市| 连州市| 自治县| 喀什市| 宜兴市| 佳木斯市| 老河口市| 天镇县| 买车|