设定 [[Prototype]]

这里我们不会详细介绍原型,要想了解更多信息参考:js原先详解

有时候在声明对象字面量的时候设定这个对象的 [[Prototype]] 是有用的。下面的用法在很多 JavaScript 引擎中已经作为非标准扩展有一段时间了,而在 ES6 中这已经标准化了:

var o1 = { 
 // .. 
}; 
var o2 = { 
 __proto__: o1, 
 // .. 
};

o2 通过普通的对象字面量声明,但是它也 [[Prototype]] 连接到了 o1。这里的 __proto__属性名也可以是字符串 "__proto__",但是注意它不能是计算属性名结果!!

注:ES6新增语法,详情请参考:https://blog.youkuaiyun.com/qq_43059674/article/details/87595265

要为已经存在的对象设定 [[Prototype]],可以使用 ES6 工具 Object.setPrototypeOf(..):

var o1 = { 
 // .. 
}; 
var o2 = { 
 // .. 
}; 
Object.setPrototypeOf( o2, o1 );

o2的原先指向o1

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值