属性的简写
const a = 'a';
const obj = {a}
console.log(obj);
方法的简写
const o = {
say(){
return '我是chris'
}
}
console.log(o.say());
var name = '全局'
const person = {
name:'张三',
say(){
console.log(`我的名字是${this.name}`);
}
}
person.say()
let res = person.say;
res()
属性名表达式
let obj1 = {
[key]:true,
['o'+'b']:123,
[`ok`]:456
}
console.log(obj1);
super 关键字
const proto = {
foo:'土豆'
}
const oProto = {
foo:'西红柿',
find(){
return super.foo
}
}
Object.setPrototypeOf(oProto,proto)
console.log(oProto.find());
const oProto = {
foo:super.foo
}
对象的扩展运算符 …
打包
let {x,y:y,...z} = {x:1,y:2,a:3,b:4}
console.log(z);
let {...h} = undefined
let {...v} = null
let {...z,x,y} = {x:1,y:2,a:3,b:4}
拆包
let obj = {a:1}
let obj1 = obj;
obj1.a = 2;
console.log(obj);
let obj2 = {...obj}
obj2.a = 2;
console.log(obj);
let person = {name:'张三',age:12}
let person2 = Object.assign({},person)
person2.name = '王五'
console.log(person);
let {a,b,...z} = {c:1,b:2,a:3,d:4}
console.log(z);
let obj = {a:{b:1}}
let obj1 = {...obj}
obj1.a.b =2;
console.log(obj);
转载请注明原文地址:https://ipadbbs.8miu.com/read-51343.html