1. 程式人生 > >es6+es7+es8學習筆記 教程

es6+es7+es8學習筆記 教程

ES8

求冪運算子

console.info(3 ** 3)   //27

async await (非同步)

        function doLater(n, x) {
            //必須要返回一個promise
            return new Promise((a) => {
                setTimeout(() => {
                    a(x)
                    console.info(x)
                }, n)
            })
} async function basicDemo() { //使用await,會按順序執行 await doLater(1000, '1秒後我先執行') await doLater(1000, '再過1秒我執行') } basicDemo() //也可以在async函式中返回一個promise 然後就可以使用then了 //函式宣告: async function foo() {} //函式表示式: const foo = async
function() {} //物件的方式: let obj = { async foo() {} } //箭頭函式: const foo = async () =>
{}

ES7

ES6

promise (非同步)

        function doPromise() {
            return new Promise((a, b) => {
                setTimeout(() => {
                    a("ok");
                }, 1000)
            })
} doPromise().then(a => console.info(a))

Generator (按步執行)

//gennerator  與async await的區別是,前者需要手動執行,後者是自動向下執行的。
//方法名前要有星號,步驟前要有yield。執行.next()進行下一步
        function* onebyon() {
            console.info(0)
            yield 'first'
            console.info(1)
            yield 'secend'
            console.info(2)
            return 'ending'
        }

        var dos = onebyon()
        console.info(dos.next())
        console.info(dos.next())
        console.info(dos.next())
    //輸出
    0
    {value: "first", done: false}
    1
    {value: "secend", done: false}
    2
    {value: "ending", done: true}
set資料結構
//該資料型別不會產生重複物件。
let a = new Set(['a', 'a', 'b'])
        a.add(9)
console.info(a)
//['a','b',9]
Set.prototype.constructor:建構函式,預設就是Set函式。
Set.prototype.size:返回Set例項的成員總數。
Set 例項的方法分為兩大類:操作方法(用於操作資料)和遍歷方法(用於遍歷成員)。下面先介紹四個操作方法。

add(value):新增某個值,返回 Set 結構本身。
delete(value):刪除某個值,返回一個布林值,表示刪除是否成功。
has(value):返回一個布林值,表示該值是否為Set的成員。
clear():清除所有成員,沒有返回值。

of迴圈

let set = new Set(['red', 'green', 'blue']);

for (let item of set.keys()) {
  console.log(item);
}
// red
// green
// blue

for (let item of set.values()) {
  console.log(item);
}
// red
// green
// blue

for (let item of set.entries()) {
  console.log(item);
}
// ["red", "red"]
// ["green", "green"]
// ["blue", "blue"]