如何在JavaScript中索引原型对象

如何在JavaScript中索引原型对象,javascript,Javascript,因此,上一次我尝试使用语句中的for…索引一个原型对象(例如:String.prototype),我能够得到它的所有方法和属性 但现在我似乎无法像我最近尝试的那样为原型编制索引 let stringProto = String.prototype; for (let i in stringProto) console.log(i) // code not running, why? :'( 我已经使用Symbol.iterator检查了原型是否可移植,它确实是,但它仍然没有索引其属性

因此,上一次我尝试使用语句中的for…索引一个原型对象(例如:
String.prototype
),我能够得到它的所有方法和属性

但现在我似乎无法像我最近尝试的那样为原型编制索引

let stringProto = String.prototype;
for (let i in stringProto)
    console.log(i) // code not running, why? :'(
我已经使用
Symbol.iterator检查了原型是否可移植,它确实是,但它仍然没有索引其属性

目标

我希望能够在JavaScript中索引原型对象的每个方法/属性(我将在一个单独的私有对象中备份它们)

原因

  • 这是我正在处理的一个JavaScript库:
  • 用于防止以下边缘情况:
    String.prototype.replace=null
    妨碍代码的运行

    • 内置原型方法不适用(请参见规范)

      相反,请使用
      getOwnPropertyNames()