ES6——对象

2018-06-20  本文已影响0人  向上而活

对象的简洁语法

下面这段代码中注释部分是老写法,注意,新写法内部使用箭头函数的话,箭头函数的this指向的是window,最好不要使用箭头函数。

let age=18;

let name='yangyi';

let json={

    age,//age:age,

    name,//name:name,

    // show:function(){

    // console.log(this.age,this.name)

    // }

    show(){

        console.log(this.age,this.name)

    }

}

json.show();

Object.assign() 用来合并参数、 复制对象

    let 新对象=Object.assign(目标对象,source1,source2,....);

let json1={a:1};  let json2={b:2}; let json3={c:3};

let jsons=Object.assign({ },json1,json2,json3);

console.log(jsons);//{a: 1, b: 2, c: 3}


let json1={a:1}; let json2={b:2,a:0}; //前后相同时,后面的覆盖前面的 let json3={c:3};

let jsons=Object.assign({},json1,json2,json3);

console.log(jsons);//{a: 0, b: 2, c: 3}


function ajax(options){//用户传来的

let defaults={...}//默认的

let json=Object.assign({},defaults,options);

}


let arr=['qq','ccc','ggg'];

let arr2=Object.assign([],arr);

console.log(arr2);//["qq", "ccc", "ggg"]

arr2.push('uuu');

console.log(arr2);//["qq", "ccc", "ggg", "uuu"]

console.log(arr);//["qq", "ccc", "ggg"]

Object.keys()、Object.values()、Object.entries()循环对象

let json={ a:123, b:456,  c:789 }

for(let key of Object.keys(json)){

console.log(key);//a b c

}

for(let value of Object.values(json)){

console.log(value);// 123 456 789

}

for(let item of Object.entries(json)){

console.log(item);// ["a", 123] ["b", 456] ["c", 789]

}

for(let [key,val] of Object.entries(json)){

console.log(key,val);//a 123 b 456 c 789

}


或者

let {keys,values,entries}=Object;

let json={ a:123, b:456,  c:789 };

for(let key of keys(json)){

console.log(key);//a b c

}

ES2018中,“...”运算符也可以用在对象上了

let {x,y}={x:1,y:2,a:3,b:4};

console.log(x,y);//1 2

let {x,y,...c}={x:1,y:2,a:3,b:4};

console.log(x,y,c);//1 2 {a: 3, b: 4}


let json={a:3,b:4};

let json2={...json};

console.log(json2);//复制对象

上一篇下一篇

猜你喜欢

热点阅读