无法获取或设置原型的属性

问题描述 投票:0回答:1

尝试获取对象的键和原型对象的所有对象(如果存在)时出现错误。当我尝试访问

prototype
的键时,它给了我一个类型错误。有什么问题这有效 -

Object.keys(object)

Object.keys(Object.getOwnPropertyDescriptors(object.__proto__))
,

let obj = { "tester": 10 };
let ko = Reflect.ownKeys(obj);
let kp = Reflect.ownKeys(obj.prototype); // Error TypeError: Reflect.ownKeys called on non-object
let kp = Reflect.ownKeys(obj.__proto__); // Error TypeError: Reflect.ownKeys called on non-object
Object.setPrototypeOf(obj.prototype, null); // Error 
Object.freeze(obj.prototype); // Error
Object.freeze(obj);

错误是 TypeError: Reflect.ownKeys 在非对象上调用

TypeError: Reflect.ownKeys called on non-object
    at Reflect.ownKeys (<anonymous>)
    at copyProps (C:\Users\ganes\OneDrive\Documents\projects\freezeobject\index.js:68:29)
    at Object.makeSafe (C:\Users\ganes\OneDrive\Documents\projects\freezeobject\index.js:139:3)
    at Object.<anonymous> (C:\Users\ganes\OneDrive\Documents\projects\freezeobject\demos\demos.freezeobject.js:25:20)
    at Module._compile (node:internal/modules/cjs/loader:1378:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1437:10)
    at Module.load (node:internal/modules/cjs/loader:1212:32)
    at Module._load (node:internal/modules/cjs/loader:1028:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:142:12)
    at node:internal/main/run_main_module:28:49
javascript node.js reflection prototype
1个回答
0
投票

使用

Object.getPrototypeOf()
访问对象的原型:

let obj = { "tester": 10 };
console.log(Reflect.ownKeys(Object.getPrototypeOf(obj)));

© www.soinside.com 2019 - 2024. All rights reserved.