成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

項目中關于解構的常用用法,我都幫你整理好了

開發 前端
在本文串,你將學到所有你需要知道的 JS 解構知識點。可從已知對象中解構所需的成員,與順序無關,可使用展開語法(必須放最后)解構剩下的成員(仍然是對象)。

[[433209]]

在本文串,你將學到所有你需要知道的 JS 解構知識點。

為什么 JS 中存在解構?

這是一個普通的對象,包含4個人的名字。

  1. const names = { 
  2.     taylor: '小智'
  3.     shawn: '前端小智'
  4.     zayn: '大志'
  5.     halsey: '王大志'

 現在,如果讓你手動打印所有人名到控制臺,你會怎么做。可能會這樣做:

  1. console.log(names.taylor) 
  2. console.log(names.shawn) 
  3. console.log(names.zayn) 
  4. console.log(names.halsey) 

這種點的方式有點煩人,怎樣才能讓它變得更好?

  1. const taylor = names.taylor 
  2. const shawn = names.shawn 
  3. const zayn = names.zayn 
  4. const halsey = names.halsey 
  5.  
  6. console.log(taylor) 
  7. console.log(shawn) 
  8. console.log(zayn) 
  9. console.log(halsey) 

好多了。但我們仍然在重復同樣的工作。如果我們可以在單個變量上聲明和分配對象屬性呢?

這樣會更好,對吧?這就是對象解構幫助我們的地方。所以我們可以這樣做:

  1. const { taylor, shawn, zayn, halsey} = names 
  2.  
  3. console.log(taylor) 
  4. console.log(shawn) 
  5. console.log(zayn) 
  6. console.log(halsey) 

 這比以前好多了。

它是如何工作的呢?

這很簡單。我們只是從對象中取出屬性并將它們存儲在一個變量中。默認情況下,變量名與屬性名相同。所以我們可以這樣寫:

  1. const { taylor, shawn, zayn: zaynMalik, halsey} = names 

數組解構?

數組解構與對象的解構類似,但有一些區別。我們知道數據被存儲在一個帶有索引的數組中。它們是有順序的。因此,在進行解構時,我們必須保持順序。比如:

  1. const albums = ['Lover''Evermore''Red''Fearless'
  2.  
  3. const [lover, ever] = albums 
  4. // Lover Evermore 

 而且,數組也沒有值的屬性。所以,可以直接給出你想要的任何變量名稱。

我們繼續看看對象和數組解構的一些用例。

數組解構

交換變量

  1. let a = 1; 
  2. let b = 3; 
  3.  
  4. [a, b] = [b, a]; 
  5. console.log(a); // 3 
  6. console.log(b); // 1 

忽略一些返回值

  1. function f() { 
  2.   return [1, 2, 3]; 
  3.  
  4. const [a, , b] = f(); 
  5. console.log(a); // 1 
  6. console.log(b); // 3 

默認值

  1. let a, b; 
  2.  
  3. [a=5, b=7] = [1]; 
  4. console.log(a); // 1 
  5. console.log(b); // 7 

用 Rest 參數創建子數組

  1. const albums = ['Lover''Evermore''Red''Fearless'
  2.  
  3. const [, ...albums2] = albums 
  4.  
  5. console.log(albums2) // ['Evermore''Red''Fearless'

對象解構

從作為函數參數傳遞的對象中解構字段

  1. const anjan = { 
  2.         name'前端小智', age: 20 
  3.  
  4. const statement = ({name, age}) => { 
  5.         return `My name is ${name}. I am ${age} years old.` 
  6.  
  7. statement(anjan) 
  8. // My name is 前端小智. I am 20 years old. 

嵌套對象解構

  1. const profile= {  
  2.   name'Anjan',  
  3.   age: 20, 
  4.   professional: { 
  5.      profession: '前端開發'
  6.   } 
  7.  
  8. const {name, age, professional: {profession}} = profile 
  9.  
  10. console.log(professional) // 這句會報錯 
  11. console.log(profession) // 前端開發 

默認值

  1. const {a = 10, b = 5} = {a: 3}; 
  2.  
  3. console.log(a); // 3 
  4. console.log(b); // 5 

嵌套對象和數組解構

  1. const taylor = { 
  2.   name'Taylor Swift'
  3.   age: 31, 
  4.   address: { 
  5.       city: 'New York'
  6.       country: 'USA'
  7.   }, 
  8.   albums: ['Lover''Evermore''Red''Fearless'], 
  9.  
  10. const { 
  11.   name
  12.   age, 
  13.   address: { city }, 
  14.   albums: [lover, ...rest], 
  15. } = taylor 
  16.  
  17. console.log(name) // Taylor Swift 
  18. console.log(age) // 31 
  19. console.log(city) // New York 
  20. console.log(lover) // Lover 
  21. console.log(rest) // [ 'Evermore''Red''Fearless' ] 

這就是關于 JS 所有你需要知道的 JS 解構知識點。

作者:Ruphaa 譯者:前端小智

來源:dev 原文:https://dev.to/thatanjan/everything-you-need-to-know-about-javascript-destructuring-30e5

 

責任編輯:姜華 來源: 今日頭條
相關推薦

2019-01-16 10:55:08

Python 開發編程語言

2018-08-03 10:49:00

2021-02-23 15:54:23

編程技能開發

2022-09-27 11:36:43

UIUI界面設計

2021-11-02 08:14:36

個人信息保護法信息安全個人信息

2010-06-28 11:06:04

SQL Server

2013-12-12 17:14:10

Linuxvim

2023-01-05 17:55:39

分布式架構

2025-04-23 09:21:10

2021-02-23 09:06:00

MVCC版本并發

2021-08-06 10:02:14

圖表餅圖聯系圖表

2023-12-08 08:01:29

分布式IM即時通訊系統架構設計

2025-01-02 09:32:54

AI模型數據

2020-05-11 09:38:52

Python開發函數

2019-11-14 09:17:05

TiDB分庫分表性能

2021-02-15 12:06:05

PythonSetDict

2010-04-12 16:12:07

Oracle HINT

2010-04-22 10:36:41

Oracle數據導入

2021-07-26 05:20:47

JavaScript解構賦值數組解構

2024-07-17 11:35:31

JavaScript解構賦值
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产一区二区三区网站 | 国产精品成人一区二区三区吃奶 | 精品1区| 日韩欧美在线一区 | 精品影院| 欧美中文字幕一区二区三区亚洲 | 丝袜 亚洲 另类 欧美 综合 | 欧美一区二区三区免费在线观看 | 日韩欧美国产成人一区二区 | 91资源在线| 999视频在线播放 | 久久大陆 | 自拍偷拍第一页 | 午夜视频免费在线观看 | 国产麻豆乱码精品一区二区三区 | 亚洲一区二区三区免费视频 | 精品欧美乱码久久久久久1区2区 | 国产精品久久久久久久久久三级 | 69精品久久久久久 | 国产精品一区二区在线 | 中文字幕亚洲欧美日韩在线不卡 | 中文字幕人成乱码在线观看 | 国产91丝袜在线18 | 国产精品一区二区三区久久 | 国产精品久久久久久久久久久久 | 日韩欧美国产精品一区 | 国产一区二区免费 | 在线免费观看黄网 | 日韩在线视频观看 | 国内自拍第一页 | 亚洲精品成人网 | 午夜视频免费网站 | 成人免费视频网址 | 久久人体| 四虎免费视频 | 中文字幕久久精品 | 亚洲视频免费在线观看 | 精品国产乱码久久久久久果冻传媒 | 欧美一级在线观看 | 欧美黑人狂野猛交老妇 | 波霸ol一区二区 |