向 Intl.NumberFormat 添加功能

Adding functionality to Intl.NumberFormat

我正在尝试向 format function 添加功能,但我的代码有问题:

Object.defineProperty(Intl.NumberFormat.prototype, "format", { value: function(){
     //your logic here
     let orig = Intl.NumberFormat.prototype
     console.log(orig);// does not remember the original proto
}, configurable: true } );

我错过了什么?

你基本上抓住了 属性 本身。你想得到 原始的 所以在它被覆盖之前,你也可以通过复制它们来存储它的子对象引用:

{
   let orig = Object.assign({}, Intl.NumberFormat.prototype);
   Object.defineProperty(Intl.NumberFormat.prototype, "format", { value: function(){
      //your logic here     
     console.log(orig);// does remember the original proto
   }, configurable: true } );
}