原型方法,没有 proto 的对象
在这部分内容的第一章中,我们提到了设置原型的现代方法。
使用 obj.proto 设置或读取原型被认为已经过时且不推荐使用(deprecated)了(已经被移至 JavaScript 规范的附录 B,意味着仅适用于浏览器)。
现代的获取/设置原型的方法有:
Object.getPrototypeOf(obj) —— 返回对象 obj 的 [[Prototype]]。
Object.setPrototypeOf(obj, proto) —— 将对象 obj 的 [[Prototype]] 设置为 proto。
proto 不被反对的唯一的用法是在创建新对象时,将其用作属性:{ proto: … }。
虽然,也有一种特殊的方法:
Object.create(proto, [descriptors]) —— 利用给定的 proto 作为 [[Prototype]] 和可选的属性描述来创建一个空对象。
例如:
let animal = {
eats: true
};