javascript相关属性记录

let my_love = Object.create({name:'Cindy',occupation:'angel'},{age:{value:18,writable:false,enumerable:false,configurable:false}});

1.上述语句中,writable:false 表示不可再次被写入;   enumerable:false 不可被迭代/枚举  configurable:false 不可再次被删除/修改/设置

从上述描述中,可知,writable:false 的效果等同于configurable:false,不允许属性age的值再次被修改

for(let property in my_love)

此for语句只会迭代两次,因为age属性被设置为enumerable:false不可迭代,因此for语句第一次迭代是name,第二次是occupation

 

2.判断两个对象实例的数据是否完全相同 Object.is()

Object.is('mars’,'Mars')           //返回false

Object.is([],[])           //返回false,因为两个空数组占用不同的内存地址

Object.is(['good','day'],['good','day'])  //返回false,同样是因为占用不同的内存地址

Object.is(NaN,0%0)  //返回true,0%0无法被评估为数值,返回原始常量NaN

3.合并多个对象实例的所有成员(属性和函数),Object.assign()

4.通过大括号里的中括号 例如[id+'_name'],可动态赋予特定对象实例的新成员的名称

let id = 'CN24';

var one_item = {[id+'_name']:'video set',[id+'_price']:300};

//one_item为{CN24_name:'video set',CN24_price:300}

//one_item['CN24_name'] 等同于one_item.CN24_name 等于 one_item[id+'_name']

5.对象实例的匹配

var person = {name:'Jimmy',age:20,gender:'male'};

var person2 = {name:'Erica',age:40,gender:'female'};

var{name,age,gender} = person; //将Jimmy,20,male分别赋值给name,age,gender

({name,age,gender}) = person2;   //因为变量name,age,gender已经被声明过,再次设置变量的值,只需要一对小括号

var {name:value01,age:value02,gender:value03} = person2; //此时name,age,gender不是变量名称,而是属性名称

var {name,...others} = person2; //此语句声明了name值为Erica,others为{age:40,gender:'female'}的对象实例

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值