自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

學會這 12 個解構(gòu)用法,代碼量能省一半

開發(fā)
解構(gòu)賦值是 ES6 帶來的重要特性之一,掌握好它不僅能讓代碼更簡潔,還能大大提高開發(fā)效率。分享 12 個實用的解構(gòu)用法,讓你的代碼更優(yōu)雅。

解構(gòu)賦值是 ES6 帶來的重要特性之一,掌握好它不僅能讓代碼更簡潔,還能大大提高開發(fā)效率。分享 12 個實用的解構(gòu)用法,讓你的代碼更優(yōu)雅。

1. 數(shù)組基礎(chǔ)解構(gòu)

最基本的數(shù)組解構(gòu)讓我們能夠輕松地提取數(shù)組元素:

// 基礎(chǔ)解構(gòu)
const [first, second] = [1, 2, 3];
console.log(first);  // 1
console.log(second); // 2

// 跳過元素
const [, , third] = [1, 2, 3];
console.log(third);  // 3

2. 對象解構(gòu)重命名

當我們需要避免命名沖突時,可以給解構(gòu)的屬性起新名字:

const person = {
  name: '張三',
  age: 25
};

const { name: userName, age: userAge } = person;
console.log(userName); // '張三'
console.log(userAge);  // 25

3. 設(shè)置默認值

解構(gòu)時可以設(shè)置默認值,防止取到 undefined:

// 數(shù)組默認值
const [x = 1, y = 2] = [undefined, null];
console.log(x); // 1
console.log(y); // null

// 對象默認值
const { title = '默認標題', count = 0 } = {};
console.log(title); // '默認標題'
console.log(count); // 0

4. 嵌套解構(gòu)

對于復雜的嵌套數(shù)據(jù)結(jié)構(gòu),我們可以使用嵌套解構(gòu):

const user = {
  id: 1,
  info: {
    name: '李四',
    address: {
      city: '北京'
    }
  }
};

const { info: { name, address: { city } } } = user;
console.log(name); // '李四'
console.log(city); // '北京'

5. 結(jié)合擴展運算符

擴展運算符配合解構(gòu)使用,能夠輕松處理剩余元素:

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

在函數(shù)參數(shù)中使用解構(gòu)可以讓代碼更清晰:

7. 動態(tài)屬性解構(gòu)

可以使用計算屬性名進行解構(gòu):

8. 解構(gòu)用于交換變量

使用解構(gòu)可以優(yōu)雅地交換變量值:

9. 鏈式解構(gòu)賦值

可以在一行中進行多個解構(gòu)賦值:

10. 解構(gòu)配合正則匹配

在處理正則表達式結(jié)果時,解構(gòu)特別有用:

11. 解構(gòu)導入模塊

在導入模塊時,解構(gòu)可以只引入需要的部分:

12. 條件解構(gòu)

結(jié)合空值合并運算符,可以實現(xiàn)條件解構(gòu):

const data = null;
const { value = 'default' } = data ?? {};
console.log(value); // 'default'

歡迎補充。

責任編輯:趙寧寧 來源: JavaScript
相關(guān)推薦

2021-04-26 15:02:13

程序員工具系統(tǒng)

2015-07-27 10:24:01

蘋果中國

2013-02-25 10:11:35

4GLTE商用網(wǎng)絡(luò)

2020-12-04 10:11:26

Unsafejava并發(fā)包

2011-05-19 09:55:38

三星雙面打印

2020-12-17 12:06:24

大數(shù)據(jù)大數(shù)據(jù)技術(shù)

2013-11-27 15:48:56

移動中間件廠商

2018-06-03 08:49:21

2020-02-21 20:21:45

線程共享資源

2022-09-01 13:25:54

isEmptyisBlank

2021-06-30 00:14:24

JS代碼數(shù)組

2020-10-13 17:30:45

Python代碼內(nèi)存

2016-12-16 13:07:30

云存儲運營混合云

2024-04-15 03:00:00

python代碼開發(fā)

2021-04-08 09:49:49

MySQL索引數(shù)據(jù)庫

2010-01-21 10:42:54

福布斯比爾·蓋茨

2010-09-17 16:21:33

系統(tǒng)升級

2025-02-19 08:50:00

箭頭函數(shù)thisJavaScript

2017-02-27 16:54:20

HTTPS網(wǎng)絡(luò)流量互聯(lián)網(wǎng)

2011-08-17 10:53:16

Firefox 7
點贊
收藏

51CTO技術(shù)棧公眾號