ES6
ECMAScript是一種由Ecma國際(前身為歐洲計算機制造商協會,英文名稱是European Computer Manufacturers Association)通過ECMA-262標準化的腳本程序設計語言。
這種語言在萬維網上應用廣泛,它往往被稱為JavaScript或JScript,但實際上后兩者是ECMA-262標準的實現和擴展。
?
模板對象?
?
新的語法? $ {NAME},并把它放在反引號里
?
?
遍歷數組
?
小結:對比三種存儲介質
Array: 有序集合,下標是唯一的,值是可以重復的
Set ??: 無序集合,沒有下標,值就是唯一的
Map : 無序集合,采用鍵值對形式存儲數據,鍵(key)是唯一的,值可以重復
?
set
?
?
map
?
?
key-value
Object.create():根據原型創建一個子類對象(繼承的另一種形式)
?
ct.defineProperty(Obj,property,{}); 在一個對象上定義新的屬性?
Object.defineProperties(對象名,要添加的屬性): 為對象一次定義多個屬性
?
?
?
?
修飾器set和get
?
?
?
?
?
默認參數
?
?
?
?
?
拓展運算符 三個點(...)
將一根數組轉換為用逗號分隔的參數列表
?
?
?
let 和 var ☆
的區別?
1.定義的變量作用域只是封閉塊,而不是整個函數
2.var定義變量聲明提前,也就是可以在創建前獲取,但結果是undefined;
而let不存在聲明提前,所以如果在創建前獲取,會報錯的
3.var定義的全局變量是屬于window的,可以通過window取出來 (window點的出來);
而let定義的全局不屬于window (window點不出來)
?
?
?
const常量?
?
?
?
箭頭函數首先,我們發現省略了function,用()代替。
其次,{}被=>代替了。
最后,里面return沒有了,因為它將暗地里返回單個語句的結果。如果你超過了一行,將需要明確使用return。
最重要的是,在ES6中的內層函數里,可以瀟灑的使用this,它代表的就是外層函數的 ☆☆
this。因為箭頭函數沒有它自己的this值,箭頭函數內的this值繼承自外圍作用域。
?
新增寫法String:
?
repeat();重復當前字符串多少次 重復多少次
console.log(“ABC".repeat(3));//ABCABCABC
?
includes();檢測當前字符串是否包含某個字符串,包含返回true ☆ 檢測是否包含
console.log(“ABC".includes("A"));//true
?
startsWith();檢測某字符串是否在源字符串的頭部,包含返回true ☆ 是不是以啥開頭
console.log(“ABC".startsWith("B"));//false
?
endsWith();檢測某字符串是否在源字符串的尾部,包含返回true ☆是不是以啥結尾
console.log("ABC".endsWith("C"));//true
?
Math:
?
Math.trunc();不進位的去除小數點
console.log(Math.trunc(3213.5));//3213
?
Math.sign();如果參數數字是正數,返回1;如果是負數,返回-1;如果是0,返回0
console.log(Math.sign(3213.5));//1
console.log(Math.sign(-3213.5));//-1
console.log(Math.sign(0));//0
☆用來判斷當前數字的正負數