ES6入门

2019-10-17  本文已影响0人  梁坤同学

let 和 const

变量的解构赋值

ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。

字符串

数组

箭头函数

扩展对象

字符串

Symbol

在 ES5 及早期版本中,语言包含5中原始类型:string、number、boolean、null 和 undefined。ES6 引入了第6种原始类型:Symbol。

解构

数组解构

对象解构

混合结构

let node = {
    type: "Identifier",
    name: "foo",
    loc: {
        start: {
            line: 1,
            column: 1
        },
        end: {
            line: 1,
            column: 4
        }
    },
    range: [0, 3]
}

let {
    loc: { start },
    range: [ startIndex ]
} = node

console.log(start.line)     // 1
console.log(start.column)       //1
console.log(startIndex)     // 0

Class 类

类的声明

类与自定义类型的差异

常量类名

类表达式

Map 集合

Es6 中的 Map 类型是一种存储着许多键值对的有序列表,其中的简明和对象的值支持所有的数据类型。

Map 集合支持的方法

Map 集合的 forEach() 方法

Weak Map 集合

ES6 中的 Weak Map 类型是一种存储着许多键值对的无序列表,列表的键名必须是非 null 类型的对象,键名对应的值则可以是任意类型。

let map = new WeakMap(),
    element = document.querySelector(".element")
map.set(element, "cyan")
let value = map.get(element)
console.log(value)  // "cyan"
// 移除 element 元素
element.parentNode.removeChild(element)
element = null

Promise 与异步编程

Promise 的生命周期

var fs = require("fs")
var p1 = new Promise(function(resolve, reject) {
    fs.readFile('./demo.txt', 'utf8', function(err, data) {
        if (err) {
            reject(err)
        } else {
            resolve(data)
        }
    })
})
p1.then(function(contents) {
    console.log(contents)
})
p1.then(null, function (err) {
    console.log(err)
})
promise.catch(function(err) {
    // 拒绝
    console.error(err.message)
})
// 与下调用相同
promise.then(null, function(err) {
    // 拒绝
    console.log(err.message)
})
上一篇下一篇

猜你喜欢

热点阅读