gpt4 book ai didi

javascript - Javascript 中的 Object.__proto__.__proto__ 对象是否有通用术语/名称?

转载 作者:行者123 更新时间:2023-11-30 15:40:33 24 4
gpt4 key购买 nike

我一直在研究 prototype chain在 Javascript 中,这个主题让我想知道...是否有一个通用名称或术语来指代原型(prototype)链末尾的所有其他对象?

我正在 GitHub repo of mine 上写 Markdown 文件我把它称为“上帝”对象。但我不太确定这个对象的行为方式。

例如,我能否更改对一种特定类型对象(比方说 Dog 对象)的引用以拥有自己的“上帝”,或者我是否会被这个单一的“上帝”对象所困?

最佳答案

您指的“上帝”对象是 Object.prototype

console.log({}.__proto__ === Object.prototype);
console.log({}.__proto__.__proto__);

如果你想创建你自己的“上帝”对象,使用Object.create(null)

var obj = Object.create(null);
console.log(obj.__proto__);

通常在创建查找表时使用,以避免与原型(prototype)中的字段发生任何名称冲突,例如toString

function Map() {
var table = Object.create(null);
return {
put: function(key, val) {
table[key] = val;
},
get: function(key) {
return table[key];
}
};
}
var map = new Map();
console.log(map.get('toString'));
map.put('toString', 'test');
console.log(map.get('toString'));

关于javascript - Javascript 中的 Object.__proto__.__proto__ 对象是否有通用术语/名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40901448/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com