我希望能够做类似以下的事情
console.log(a, typeof a); // prints "3 'number'"
console.log(typeof a.mymethod()); // prints 'foobar'
在非严格模式下,这是可能的(至少在Node中),但ECMAScript 2015中的严格模式禁止在原始值(source)上设置属性。
我有什么方法可以假装这个,比如使用Proxy
或属性描述符,或类似的东西?
答案 0 :(得分:0)
以下设置为使用ES2015 /严格模式,似乎可以解决问题:
'use strict';
var a = 3;
Number.prototype.mymethod = function() { alert("foobar") };
a.mymethod();