数组的扩展

Array.from()

Array.from()方法用于将类似数组的对象可遍历的对象转为真正的数组。

而扩展运算符只能将部署了Iterator接口的对象(可遍历对象)转换成数组。

阅读全文〉

Symbol

什么是Symbol

Symbol是ES6引入的一种新的原始数据类型,表示独一无二的值。它是JavaScript语言的第七种数据类型:

阅读全文〉

async 和 await

  1. 基本用法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
async function getPersonInformation() {
let obj;
console.log('before get');
await getPerson().then(data => {
console.log(data);
obj = data;
});
console.log('after get ' + obj.name + ' information');
}

function getPerson() {
return new Promise((resolve, reject) => {
setTimeout(function() {
const p = {
name: 'lrh',
age: 18
};
resolve(p)
})
});
}

getPersonInformation();
阅读全文〉

Generator函数

基本用法

1
2
3
4
5
6
7
8
9
10
11
function* helloWorldGenerator() {
yield 'hello';
yield 'world';
return 'ending';
}

var hwg = helloWorldGenerator();
hwg.next();//{value: 'hello', done: false}
hwg.next();//{value: 'world', done: false}
hwg.next();//{value: 'ending', done: true}
hwg.nexe();//{value: undefined, done: true}
阅读全文〉

Promise

什么是Promise

Promise是异步编程的一种解决方案,它是一个容器,里面保存着某个将来才会结束的事件。

通过异步操作的结果,决定它是哪种状态。

pending —> fulfilled 或者 pending —> rejected

阅读全文〉