ES6 基礎入門筆記
阿新 • • 發佈:2018-12-16
1. 變數解構賦值
let obj = {
p: [
'Hello',
{ y: 'World' }
]
};
let { p: [x, { y }] } = obj;
x // "Hello"
y // "World"
p是模式,不是變數,因此不會被賦值。
let obj = {
p: [
'Hello',
{ y: 'World' }
]
};
let { p, p: [x, { y }] } = obj;
x // "Hello"
y // "World"
p // ["Hello", {y: "World"}]
2. 字串擴充套件
includes()
startsWith():返回布林值,表示引數字串是否在原字串的頭部。
endsWith():返回布林值,表示引數字串是否在原字串的尾部。
3. 正則表示式
組匹配和解構賦值
let {groups: {one, two}} = /^(?<one>.*):(?<two>.*)$/u.exec('foo:bar');
one // foo
two // bar
4. 箭頭函式
箭頭函式裡面根本沒有自己的this
,而是引用外層的this
。
5. Symbol
第七種資料型別,不能使用new,可用作私有變數。
Object.getOwnPropertySymbols(); 返回symbol的一個數組。
6. set 和 map
map 的遍歷順序就是插入順序。
7. Proxy 和 Reflect
Proxy 和 Reflect 方法一一對應,
第一個引數為物件,否則報錯。
8. Decorator
修飾器只用於類和類的方法,不用於函式,函式存在提升。
9. Promise
Promise.resolve 將現有物件轉換為Promise物件。
Promise.resolve 方法允許呼叫時不帶引數,直接返回一個resolved
狀態的 Promise 物件。