ES6总结 8- 对象扩展
2019-05-07 本文已影响0人
辣瓜瓜
ES6学习总结是自己在学习过程中的总结,记笔记就是为了督促自己学习和复习,好记性不如烂笔头。如果有错误,感谢指出。
简洁表示法
{
let o=1;
let k=2;
let es5={
o:o,
k:k
};
let es6={
o,
k
};
console.log(es5,es6);
let es5_method={
hello:function(){
console.log('hello');
}
};
let es6_method={
hello(){
console.log('hello');
}
};
console.log(es5_method.hello(),es6_method.hello());
}
属性表达式
{
// 属性表达式
let a='b';
let es5_obj={
a:'c',
b:'c'
};
let es6_obj={
[a]:'c' //[]里面就是一个表达式 这里相当于b:c
}
console.log(es5_obj,es6_obj);
}
Object新增方法
判断两个值是否相等
数组是引用类型的
{
console.log('字符串',Object.is('abc','abc'),'abc'==='abc');//true true
console.log('数组',Object.is([],[]),[]===[]);//false false
}
拷贝
仅浅拷贝,仅修改引用地址
拷贝的是只有自身属性,继承的不拷贝,不拷贝不可枚举的属性
console.log('拷贝',Object.assign({a:'a'},{b:'b'}));//{a:'a',b:'b'}
object.entries
let test={k:123,o:456};
for(let [key,value] of Object.entries(test)){//这个和数组的entries是一样
console.log([key,value]);
}
扩展运算符
babel支持不是很友好,仅作了解先
{
// 扩展运算符
let {a,b,...c}={a:'test',b:'kill',c:'ddd',d:'ccc'};
c={
c:'ddd',
d:'ccc'
}
}