1. 程式人生 > >ES6 基礎入門筆記

ES6 基礎入門筆記

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 物件。