Chrome开发者工具中__proto__与[[Prototype]]显示差异咨询
关于Chrome控制台中__proto__与[[Prototype]]的问题解答
1. 二者是否为同一概念?变更始于Chrome哪个版本?
- 本质指向同一个核心:对象的原型,这是JavaScript原型继承的核心载体。
__proto__是早年浏览器厂商实现的非标准访问器属性,用来读写对象的内部原型;后来ES6将其纳入标准的可选规范(仅针对浏览器等宿主环境),但它始终是暴露给开发者的"访问入口"。[[Prototype]]是ECMAScript标准定义的对象内部槽(Internal Slot),是原型机制的底层概念,描述对象实际指向的原型对象。
- Chrome从**版本79(2019年12月发布)**开始,在控制台默认用
[[Prototype]]替代__proto__的显示,目的是和ECMAScript标准术语对齐,避免开发者混淆非标准属性与标准内部机制。
2. 能否回退Chrome开发者工具版本以显示__proto__?
完全不需要回退DevTools版本,Chrome内置了设置可以重新显示__proto__:
- 打开Chrome DevTools(按F12或Ctrl+Shift+I),点击右上角三点图标→选择Settings(或直接按F1)。
- 在设置面板切换到Console选项卡,找到并勾选Show proto properties选项。
- 刷新控制台后,对象属性列表里就会显示
__proto__项,同时保留[[Prototype]]的折叠展示。
内容的提问来源于stack exchange,提问作者Athman
相关产品推荐
相关产品推荐

