1. 程式人生 > >ES6(要點!!!)

ES6(要點!!!)

好好學習 ,天天向上。Are you ready?在這裡插入圖片描述

一. 嚴格模式 “use strict”;
1. 作用域的頭部
二. bind/call/apply
作用: 修改this指向,
bind : 返回函式,
call/apply : 返回物件
三. JSON.parse() / JSON.stringify()
JSON.parse() : 將json字串轉為json物件,
JSON.stringify() : 將json物件轉為Json字串
四. let / const
1. let 產生了塊級作用域,只在宣告變數的作用域中有效
2. let宣告的變數不作變數提升
3. 同一個作用域中不使用let重複宣告一個變數
4. let宣告的全域性變數不再是window的屬性
注: for 是一個作用域,迴圈體是一個作用域,
1. 宣告常量 ,只能宣告一次
2. 複合資料型別,只要不改指向,裡面的值可以修改.
五. 解構賦值 : 注意兩邊格式一致


1. []
2. {}
好處:
1. 交換變數中的值
2. 可以return多個值
3. 傳遞引數可以不按順序傳,且可以設定預設值
六. 字串擴充套件方法
1. includes() : 判斷是否包含指定的字串,返回布林值
2. startsWith() : 判斷是否在父串的開頭部分,返回布林值
3. endsWith() : 判斷是否在父串的結尾部分,返回布林值
4. repeat() : 重複字串,
注: 1. <= -1 報錯,
2. 小數 : 取整,
3. 字串:先轉數字,轉不成的,NaN ------0 ,

七. 箭頭函式
() => {}
1. 好處: 自動改變this指向,指向父級作用域繫結的物件,
2. 壞處: 不能new物件,
可讀性差
返回json物件 加 ()
八. Symbol


確保值的唯一性
九. Set : 去重
1. 定義物件 : new Set([]);
2. 屬性: size,
3. 方法:
1> add() :新增元素,
2> has() : 判斷集合中是否有指定的元素,
3> delete() : 刪除指定的元素,
4> clear() : 清空set,
4. 遍歷:
1> keys() : 所有key,
2> values() : 所有value,
3> entries() : 所肋key和value,
4> for of
5> forEach(function(value,key,set){})
十. Map

1. 定義物件 : new Map([[],[]]);
2. 屬性: size,
3. 方法:
1> set() :新增元素,
get() : 獲取元素
2> has() : 判斷集合中是否有指定的元素,
3> delete() : 刪除指定的元素,
4> clear() : 清空set,
4. 遍歷:
1> keys() : 所有key,
2> values() : 所有value,
3> entries() : 所肋key和value,
4> for of
5> forEach(function(value,key,map){})
十一. 生成器函式
function * 函式名(){
yield 語句組;
yield 語句組;
}
var obj = 函式名();
obj.next() : //{done : false, value : 語句組的值}
十二. class
class 類名{
constructor([形參]){
this.屬性名 = 屬性值;
}
方法名([形參]){
功能
}
}

繼承
class 類名 extends 父類名{
constructor([形參]){
super([實參]);
this.屬性名 = 屬性值;
}
方法名([形參]){
功能
}
}