ES6 解構賦值的用法筆記

640?wx_fmt=jpeg

1、概念:解構賦值可以理解為對賦值運算符的一種擴展。它主要針對數組或者

對象進行模式匹配,然后對模式中的變量進行賦值。

2、特性:采用ES6解構賦值的方式可以代碼的可讀性更高、代碼書寫更加簡潔、清晰。

3、解構模型:分為解構源、解構的目標:解構源=解構的目標

4、解構類型:分為數組類型、對象類型。

數組類型

1.基本用法

let [a,b,c]=[5,15,25];

alert(b);//15

2、嵌套用法

let [a,[b,c],d]=[5,[15,25],50];

alert(c);//25

3、可忽略用法

let [a,,b]=[5,15,25];

alert(b);//25

4、部分解構用法

let [a=5,b]=[10,20];

alert(b);//20

5、剩余運算符用法

let [a,...b]=[10,20,30,40,50];

alert(b);//20,30,40,50

6、字符串用法

let [a,b,c]="how";

alert(a);//h

alert(b);//o

alert(c);//w

對象類型

1、基本用法

let {name,age}={name="小明",age=25};

alert(name);

2、可嵌套、可忽略用法

let person = {p: ['小明', {age: 25}] };

let {p: [name, { age }] } = person;

alert(name);//小明

alert(age);//25

let person = {p: ['小王', {age: 25}] };

let {p: [name, { ?}] } = person;

alert(name);//小王

3、部分解構用法

let person = {p: [{age: 30}] };

let {p: [{ age }, name ] } = person;

alert(name);//undefined

alert(age);//30

4、剩余運算符用法

let {a,...rest} = {a: 10, b: 20, c: 30, d: 40};

console.log(a);//10

console.log(rest);// Object { b: 20, c: 30, d: 40 }

5、解構默認值

let {a = 10, b = 5} = {a: 3};

console.log(a);//3

console.log(b);//b

let {a: aa = 10, b: bb = 50} = {a: 10};

console.log(aa);//10

console.log(bb);//50

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/271957.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/271957.shtml
英文地址,請注明出處:http://en.pswp.cn/news/271957.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

一.高階函數

一.函數式編程中函數的特點 可以創建匿名函數 def聲明帶名函數,val聲明匿名函數scala scala> def triple(x:Int):Int {3*x} scala> triple(2) res1: Int 6scala scala> val triple (x:Int) > 3*x scala> triple(2) res0: Int 6函數和數字一樣&am…

線程和進程的區別?

進程是操作系統分配資源的最小單元,線程是操作系統調度的最小單元。 一個程序至少有一個進程,一個進程至少有一個線程。

收集12個經典的程序員段子

1bug 跟蚊子的相似之處:1、不知道藏在哪里。2、不知道有多少。3、總是在你即將睡覺休息的時候出現。2A:最近在看《一拳超人》,覺得咱們程序猿跟埼玉老師有點像啊!B:哪里像了?A:越禿越強&#xf…

2020mysql安裝教程_2020MySQL安裝圖文教程

MySQL安裝圖文教程(Windows10)1、MySQL下載可以去MySQL官網下載,或者在我提供的百度云鏈接下載。官網下載網速較慢,我從官網下載了將近四個小時,然后把下載好的放在了百度網盤,需要的而已自取。MySQL官網地址:MySQL官網…

說一下 runnable 和 callable 有什么區別?

主要區別 Runnable 接口 run 方法無返回值;Callable 接口 call 方法有返回值,支持泛型Runnable 接口 run 方法只能拋出運行時異常,且無法捕獲處理;Callable 接口 call 方法允許拋出異常,可以獲取異常信息 Runnable Ca…

幾種常見的光纖接頭(ST,SC,LC,FC)以及PC、APC和UPC的區別

一、幾種常見的光纖接頭(ST,SC,LC,FC)FC型光纖連接器:外部加強方式是采用金屬套,緊固方式為螺絲扣。 一般在ODF側采用(配線架上用的最多)SC型光纖連接器:連接GBIC光模塊或普通光纖收發器的連接器,它的外殼呈矩形,緊固方…

nginx配置ssl

1.使用pfx證書配置ssl (http://www.heartlifes.com/archives/12/) 。上傳證書 。生成證書crt及key文件 openssl pkcs12 -in /usr/local/nginx/ssl/xxx.pfx -clcerts -nokeys -out /usr/local/nginx/ssl/xxx.crt openssl pkcs12 -in /usr/local/nginx/ssl…

python開發客戶端_python用700行代碼實現http客戶端

本文用python在TCP的基礎上實現一個HTTP客戶端, 該客戶端能夠復用TCP連接, 使用HTTP1.1協議.一. 創建HTTP請求HTTP是基于TCP連接的, 它的請求報文格式如下:因此, 我們只需要創建一個到服務器的TCP連接, 然后按照上面的格式寫好報文并發給服務器, 就實現了一個HTTP請求.1. HTTPC…

家里網線的接法和順序

對于網線,大伙都熟悉吧,它是電腦連接時必不可少的一種設備。但是許多網友卻和小編一樣,不知道如何連接網線,導致電腦無法上網,下面我們就來詳細介紹一下:如何接網線以及家里網線的接法和順序?希…

String str=Hello 與 String str=new String(“Hello”)一樣嗎?

為什么會輸出上邊的結果呢,String x "Hello" 的方式,Java 虛擬機會將其分配到常量池中,而常量池中沒有重復的元素,比如當執行“Hello”時,java虛擬機會先在常量池中檢索是否已經有“Hello”,如果有那么就將…

盤點程序員最喜歡的15個網站

程序員作為一個經常和互聯網打交道的人群,他們喜歡瀏覽哪些網站呢?不愛敲代碼的程序猿整理了以下網站供大家參考,排名不分先后: 0. Google https://google.com 這個不用多說了吧。 1.GitHub 開發者最最最重要的網站:h…

簡單的反射 把datatable 轉換成list對象

/// <summary>/// 把datatable 轉換成list對象/// </summary>/// <typeparam name"T"></typeparam>/// <param name"dt"></param>/// <returns></returns>public List<T> SelectsAll<T>(Data…

mysql 取 映射數據庫中_JAVA與數據庫MySQL相連接

JDBC(Java數據庫連接體系結構)&#xff1a;是Java實現數據庫訪問的應用程序編程接口&#xff0c;主要功能是管理存放在數據庫中的數據。通過接口對象&#xff0c;應用程序可以完成與數據庫的連接&#xff0c;執行SQL語句&#xff0c;從數據庫中獲取結果&#xff0c;獲取狀態以及…

抽象類必須要有抽象方法嗎?

答案是&#xff1a;不必須。 這個題目主要是考察對抽象類的理解。 說一下我個人的理解吧。 1.如果一個類使用了abstract關鍵字修飾&#xff0c;那么這個類就是一個抽象類。 2.抽象類可以沒有抽象方法 3.一個類如果包含抽象方法&#xff0c;那么這個類必須是抽象類&#xf…

python序列化和反序列化_Python 中 json 數據序列化和反序列化

1.Json 定義定義&#xff1a;JSON(JavaScript Object Notation, JS 對象簡譜) 是一種輕量級的數據交換格式。JSON 的數據格式其實就是 python 里面的字典格式&#xff0c;里面可以包含方括號括起來的數組&#xff0c;也就是python里面的列表。特點&#xff1a;簡潔和清晰的層次…

重寫navigationController的push方法后,出現卡頓現象

在使用navigation的pushViewController進行push的時候&#xff0c;兩個頁面間的動畫會出現卡頓一下再推出的效果&#xff0c;是因為iOS7 viewController背景顏色的問題&#xff0c;看到大神的博客上說&#xff1a;其實不是卡頓&#xff0c;是由于透明色顏色重疊后視覺上的問題&…

硬件:RS232基礎知識筆記

個人計算機上的通訊接口之一&#xff0c;由電子工業協會&#xff08;ElectronicIndustriesAssociation&#xff0c;EIA&#xff09;所制定的異步傳輸標準接口。通常RS-232接口以9個引腳&#xff08;DB-9&#xff09;或是25個引腳&#xff08;DB-25&#xff09;的型態出現&#…

普通類和抽象類有哪些區別?

抽象類不能被實例化抽象類可以有抽象方法&#xff0c;抽象方法只需申明&#xff0c;無需實現含有抽象方法的類必須申明為抽象類抽象類的子類必須實現抽象類中所有抽象方法&#xff0c;否則這個子類也是抽象類抽象方法不能被聲明為靜態static抽象方法不能用 private 修飾&#x…

正則表達式格式化日期

var str "2016年4月11日";str str.replace(/[\u5e74|\u6708]/g,"-").replace(/\u65e5/g,""); 轉載于:https://www.cnblogs.com/smght/p/5379514.html

硬件:RS422基礎知識筆記

??作者主頁&#xff1a;IT技術分享社區 ??作者簡介&#xff1a;大家好,我是IT技術分享社區的博主&#xff0c;從事C#、Java開發九年&#xff0c;對數據庫、C#、Java、前端、運維、電腦技巧等經驗豐富。 ??個人榮譽&#xff1a; 數據庫領域優質創作者&#x1f3c6;&#x…