ECMAScript 6 语法糖(二)

原创 zax 随笔 JS 175阅读 2017-06-12 17:48:08 举报

7、对象的扩展(续)
①Object.assign() //多个obj 赋值到一个里面。第一个参数,被赋值的对象,剩下的所有参数赋值的对象 。如果重复,后面的覆盖前面的
javascript 代码

② 获取对象的prototype
Object.getPrototypeOf()
javascript 代码

设置对象的prototype
Object.setPrototypeOf() 会把原有的prototype覆盖掉
javascript 代码

8、函数的扩展
①默认参数
1.多余的参数(...自定义参数)######注意:...c后面不能再有自定义参数
javascript 代码

         2.默认参数   如果传值,就用传的值

javascript 代码

②箭头函数
1.
javascript 代码

2.和真的函数的区别:
a.箭头函数不能 new 否则会报错
b.箭头函数不存在 arguments
c. ...多余的参数可以使用
d. this 指向永远是指向定义时所在的对象
一般是在回调里使用箭头函数
javascript 代码

Set
类似数组
1.es6新增的数据结构 是一个构造函数,所有的值唯一的
javascript 代码

2.size : 相当于数组中的length
add() : 添加到最后,相当于数组中的push
delete() : 删除,如果删除的数据不再set里,没有反应,不会报错 删除指定的值
has() : 查找 如果找到,就返回true ,找不到就返回false
clear() : 清除所有的内容
set.size //2
set.add(3) //set(1,2,3)
set.delete(1); console.log(set) // set(2,3)
set.has(2) // true
set.clear(); console.log(set) //set()

Map
1.新增的一个数据结构,类似对象 也可以用obj当做key(可以用任意类型的当做key(比如function))
类似对象
javascript 代码

2.size: 同上
set() :添加键值对
has() : 同上
delete() : 同上
clear() : 同上
map.size //2
map.set(obj,'obj')
map.has(fn)

Promise
构造函数,异步操作变同步

javascript 代码

评论 ( 1 )
最新评论
前端小账号 2017-09-27 15:04:31 1F

和真函数区别紧接着下面代码console.log(this); // obj1这个输出是错误的,无输出,无效果