Добавление функциональности в Intl.NumberFormat
Я пытаюсь добавить функциональность в функцию форматирования, но в моем коде что-то не так:
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 } );
Что мне не хватает?
1 ответ
Решение
Вы в основном ловите саму собственность. Вы хотите получить исходный файл до того, как он будет переопределен, и вы можете также сохранить ссылки на его подобъекты, скопировав их:
{
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 } );
}