es6学习笔记

es6笔试面试常考:
对 ES6 的了解?
箭头函数的应用场景?
Promise 的特点和实现方式?
Async/Await 的使用场景?
Iterator(迭代器)、Generator(生成器)的用法?
ES6 的 Class 继承和 ES5 有什么不同?
ES6 的模块化解决了哪些问题?如何进行编译的?
https://blog.youkuaiyun.com/barret007/article/details/79478118
https://blog.youkuaiyun.com/barret007/article/details/79491750

es6很全的博客:
https://juejin.im/post/59a80ba06fb9a02497170704

Set 是新增的无重复的有序集合,多用于集合去重或者判断集合中是否含有某个元素。

迭代器
顾名思义,用来迭代的。之前介绍过 Symbol.iterator,可以迭代的对象都有这个属性,包括数组,Set,Map,字符串和 NodeList。ES6新增的 for-of 就用到了迭代器的功能,但是默认只有上面这些对象能使用。

var与let区别:
var a = [];
for (var i = 0; i < 10; i++) {
a[i] = function () {
console.log(i);
};
}
a6; // 10
上面代码中,变量i是var命令声明的,在全局范围内都有效,所以全局只有一个变量i。每一次循环,变量i的值都会发生改变,而循环内被赋给数组a的函数内部的console.log(i),里面的i指向的就是全局的i。也就是说,所有数组a的成员里面的i,指向的都是同一个i,导致运行时输出的是最后一轮的i的值,也就是 10。
如果使用let,声明的变量仅在块级作用域内有效,最后输出的是 6。

es5 6 区别
ES6 引入了块级作用域,明确允许在块级作用域之中声明函数。

const命令:
1 const声明一个只读的常量。一旦声明,常量的值就不能改变。
2 const一旦声明变量,就必须立即初始化
3 const的作用域与let命令相同:只在声明所在的块级作用域内有效。
4 const实际上保证的,并不是变量的值不得改动,而是变量指向的那个内存地址所保存的数据不得改动。

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

Promise 对象
Promise对象有以下两个特点。
1 Promise对象代表一个异步操作,有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)。只有异步操作的结果,可以决定当前是哪一种状态,任何其他操作都无法改变这个状态。
2 从pending变为fulfilled和从pending变为rejected。只要这两种情况发生,状态就凝固了,不会再变了,会一直保持这个结果,这时就称为 resolved(已定型)。如果改变已经发生了,你再对Promise对象添加回调函数,也会立即得到这个结果。这与事件(Event)完全不同,事件的特点是,如果你错过了它,再去监听,是得不到结果的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值