一 . ES6簡介
(1)什么是ES6瓤狐?
ES的全稱是ECMAScript,它是由ECMA國際標(biāo)準(zhǔn)化組織制定的一項(xiàng)腳本語言的語言規(guī)范瞬铸,泛指2015以及后續(xù)版本
(2)為什么要使用ES6批幌?
A 變量提升特性增加了程序運(yùn)行時的不可預(yù)測性;
B? 語法過于松散嗓节,實(shí)現(xiàn)相同的功能荧缘,不同的人可能寫出不同的代碼;
二. ES6的新增語法? ??
1.let(ES6中新增的用于聲明變量的關(guān)鍵字)
let聲明的變量只在處于的塊級有效赦政;
不存在變量提升胜宇;
ps:使用let關(guān)鍵字聲明的變量具有塊級作用域,使用var聲明的變量不具有塊級作用域
2.const(聲明常量)
具有塊級作用域恢着;
聲明常量時必須賦值;
常量賦值后财破,值不可以修改掰派;
總結(jié):
let、const左痢、var的區(qū)別
3.解構(gòu)賦值(可以將屬性/值從對象/數(shù)組中取出,賦值給其他變量)
參考鏈接https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
(1)數(shù)組解構(gòu)
A.解構(gòu)形式
a.變量聲明并賦值時的解構(gòu)
b.變量先聲明后賦值時的解構(gòu)
B.默認(rèn)值
為了防止從數(shù)組中取出一個值為undefined的對象靡羡,可以在表達(dá)式左邊的數(shù)組中為任意對象預(yù)設(shè)默認(rèn)值。
C.交換變量
在一個解構(gòu)表達(dá)式中可以交換兩個變量的值俊性。
沒有解構(gòu)賦值的情況下略步,交換兩個變量需要一個臨時變量(或者用低級語言中的XOR-swap技巧)。
D.解析一個從函數(shù)返回的數(shù)組
從一個函數(shù)返回一個數(shù)組是十分常見的情況定页。解構(gòu)使得處理返回值為數(shù)組時更加方便趟薄。
E.忽略某些返回值
你也可以忽略你不感興趣的返回值:
你也可以忽略全部返回值:
F.將剩余數(shù)組賦值給一個變量
當(dāng)解構(gòu)一個數(shù)組時,可以使用剩余模式典徊,將數(shù)組剩余部分賦值給一個變量杭煎。
如果剩余元素右側(cè)有逗號,會拋出 SyntaxError卒落,因?yàn)槭S嘣乇仨毷菙?shù)組的最后一個元素羡铲。
G.用正則表達(dá)式匹配提取值
用正則表達(dá)式的 exec() 方法匹配字符串會返回一個數(shù)組,該數(shù)組第一個值是完全匹配正則表達(dá)式的字符串儡毕,然后的值是匹配正則表達(dá)式括號內(nèi)內(nèi)容部分也切。解構(gòu)賦值允許你輕易地提取出需要的部分,忽略完全匹配的字符串——如果不需要的話腰湾。
(2)對象解構(gòu)
A.基本賦值
B.無聲明賦值
一個變量可以獨(dú)立于其聲明進(jìn)行解構(gòu)賦值雷恃。
C.給新的變量名賦值
可以從一個對象中提取變量并賦值給和對象屬性名不同的新的變量名。
D.默認(rèn)值
變量可以先賦予默認(rèn)值檐盟。當(dāng)要提取的對象沒有對應(yīng)的屬性褂萧,變量就被賦予默認(rèn)值
E.給新的變量命名并提供默認(rèn)值
一個屬性可以同時 1)從一個對象解構(gòu),并分配給一個不同名稱的變量 2)分配一個默認(rèn)值葵萎,以防未解構(gòu)的值是undefined导犹。
4.箭頭函數(shù)(ES6新增的定義函數(shù)的方式)
5.剩余參數(shù)
三.ES6內(nèi)置對象擴(kuò)展
1.Array的擴(kuò)展方法
(1)擴(kuò)展運(yùn)算符
擴(kuò)展運(yùn)算符可以將數(shù)組或者對象轉(zhuǎn)為用逗號分隔的參數(shù)序列
擴(kuò)展運(yùn)算符可以應(yīng)用于合并數(shù)組
將類數(shù)組或可遍歷對象轉(zhuǎn)換為真正的數(shù)組
(2).構(gòu)造函數(shù)方法Array.from()
將偽數(shù)組或可遍歷對象轉(zhuǎn)換為真正的數(shù)組
方法還可以接受第二個參數(shù)唱凯,作用類似于數(shù)組的map方法,用來對每個元素進(jìn)行處理谎痢,將處理后的值放入返回的數(shù)組
(3).實(shí)例方法find()——用于找出第一個符合條件的數(shù)組成員磕昼,如果沒有找到返回undefined
(4).實(shí)例方法findIndex()——用于找出第一個符合條件的數(shù)組成員的位置,如果沒有找到返回-1
(5).實(shí)例方法includes()——表示某個數(shù)組里是否包含給定的值节猿,返回布爾值
2.String的擴(kuò)展方法
(1)模板字符串
(2)實(shí)例方法startsWith()和endsWith()
(3)實(shí)例方法repeat()