每日一记之—ES6-扩展的对象的功能
es6直接写入变量和函数,可直接作为对象的属性和方法
const name = "yoyo", age = 20;
//以前的话是这样写
eg1:
const person = {
name:name,
age:age,
sayName:function{}
}
//现在,同名可简写
const person = {
name,
age,
sayName(){}
}
eg2:
function fn(x,y){
return {x,y};
}
before:
fn(x:20,y:30)
after:
fn(20,30)
//添加对象的属性并赋值
const abj={};
//给对象添加属性
obj.isShow = true;
//可以使用这样的表达式组合属性名来添加
const name = "yoyo"
obj["我的名字是"+name]=“不告诉你”
//也可以用这样的表达式来添加一个方法
obj["fang"+"fa"] = function(){
console.log("这是一个方法")
}
//以上内容等于:
const name = "yoyo"
const obj = {
isShow:true,
["我的名字是"+name]:不告诉你,
["fang"+"fa"](){
console.log("这是一个方法")
}
}
对象的方法
①is() ,相当于 === 但是,他可以解决NaN的特殊性
//当我们使用 === 来判断
console.log(NaN === NaN) //false
//当使用is()
Object.is(NaN ,NaN) // ture
②assign(),它可以用于对象的合并,他是浅拷贝
//Object.assign(target,obj1,obj2,...)
let newObj= Object.assign({},{a:1},{b:2});
这里打印的结果为{a: 1, b: 2}