javascript - 使用名为 __proto__ 的键在对象中创建属性的尴尬
问题描述
我正在查看这段代码并将其复制到 Chrome 的控制台中。
let __proto__ = {color: "red"};
let o1 = {__proto__};
const newO1 = Object.create(o1);
- 我了解
let o1 = {__proto__};
使用“速记属性名称”技术。
当我登录时,o1
我期望:
{
__proto__: {//data property
color: "red",
__proto__: Object.prototype //the accessor object
}
}
- 登录时
new01
,我期望:
{
__proto__:
__proto__: {color: "red"},
__proto__: Object.prototype
}
当我们制作自己的财产时,我很困惑发生了什么__proto__
!
解决方案
我认为您正在寻找以下内容:
const o1 = {};
Object.defineProperty(o1, 'color', {
get: () => 'red',
});
const newo1 = Object.create(o1);
console.log(newo1.color);
推荐阅读
- mongodb - 如何在使用 $objectToArray 之前根据动态键过滤掉文档?
- rest - 运行从 Postman 转换的 k6 负载测试失败
- maven - Cucumber BDD 自动化脚本在运行后总是会导致“跳过”测试
- bash - Bash 脚本 If THEN 循环
- mongodb - 从 Robo 3T 成功认证后,MongoDB 终止连接
- regex - MongoDB:在聚合管道中使用字符串操作
- javascript - React Native - 如何更新 FlatList 的帖子(新的喜欢,...)
- c# - 在计时器调用的异步方法中附加到文件
- javascript - 如何使用 onClick 侦听器从元素中选择数据
- javascript - 使用运行类型进行类型检查