ES6 对象定义简写及常用的扩展方法

1、ES6 对象定义简写

es6提供了对象定义里的属性,方法简写方式:
假如属性和变量名一样,可以省略,包括定义对象方法function也可以省略
<script type="text/javascript">
let name = 'jack';
let sex = 'man';
//传统方式
let obj1 = {
name:name,
sex:sex,
getName:function(){
return this.name;
}
}
//简写
//假如属性和变量名一样,可以省略,包括定义对象方法function也可以省略
let obj2={
name,
sex,
getName(){
return this.name;
}
} console.log(obj1,obj1.getName());
console.log(obj2,obj2.getName());
</script>

2、ES6 对象常用的扩展方法

<script type="text/javascript">
// 对象方法
/*
Object.assign(target, source_1, ···)
用于将源对象的所有可枚举属性复制到目标对象中。
返回值是target对象
如果目标对象和源对象有同名属性,或者多个源对象有同名属性,则后面的属性会覆盖前面的属性。
*/ let target = {a: 1};
let object2 = {b: 2};
let object3 = {c: 3};
let returnObj=Object.assign(target,object2,object3); console.log(target) // {a: 1, b: 2, c: 3}
console.log(returnObj) // {a: 1, b: 2, c: 3} // 注意点:assign 的属性拷贝是浅拷贝: just copy的是引用
let sourceObj = { a: { b: 1}};
let targetObj = {c: 3}; Object.assign(targetObj, sourceObj);
targetObj.a.b = 2;
console.log(sourceObj.a.b); // 2 /*
Object.is(value1, value2)
用来比较两个值是否严格相等,与(===)基本类似。
*/ console.log(Object.is("q","q")); // true
console.log(Object.is(1,1)); // true
console.log(Object.is("1",1)); // false
console.log("1"==1); // true
console.log("1"===1); // false 类型也要判断
console.log(Object.is([1],[1])); // false
console.log(Object.is({q:1},{q:1})); // false
</script>
上一篇:WIndows下 Pycharm 配置Anaconda和TensorFlow


下一篇:洛谷p3398仓鼠找suger题解