Contents

ES6笔记(四)扩展对象的功能性

1
let id = 12; let value = 22; let obj = {id:value} 
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
//es5 
let obj = { 
    handle:function(){ 
        //dosomething 
        } 
    } 
//es6 
let obj = {
     handle(){ 
        //dosomething 
        } 
    } 
1
2
3
4
5
6
//ES5 
function a(id) {
        return { id: id }; 
     }; 
     //ES6
const a = (id) => ({ id }) 

比较两种数据类型,以前可以用===或者==,现在可以用Object.is(),不过Object.is()比较严格:

1
2
3
4
console.log(+0 === -0)
//true 
console.log(Object.is(+0, -0))
//false

Object.assign()这个方法早有接触过,合并对象以及浅拷贝,具体看如下示例:

1
 object.assign(target,...obj) 

注意一下,obj中会覆盖target中重复的属性

示例:

1
2
3
const state = { id: 1, 5: 5, name: "eryue", 3: 3 } 
Object.assign(state, null) 
//{"3":3,"5":5,"id":1,"name":"eryue"} 

还有其他的object.keys()和for…in都会枚举。

Object.setPrototypeOf()还有super()。