无法更改typescript 1.7.3中的Number.prototype

时间:2015-12-05 16:46:03

标签: typescript typescript1.7

我以前能够在Ts 1.0中执行此操作,但现在我收到错误Property 'foo' does not exist on type 'Number'

Number.prototype.foo = function(foo) {
    return true
};

更新

到目前为止,下面的答案都没有对我有用。我使用ts-loader和babel

3 个答案:

答案 0 :(得分:3)

添加声明以将成员添加到Number

interface Number {
    foo(): boolean;
}

答案 1 :(得分:2)

或者,以懦夫的方式走出去Number.prototype['foo']=

您不会进行任何类型检查,但如果您想要进行类型检查,则会再次添加它。值得了解的是foo['bar']作为“属性'栏'的快速解决方案,'foo'类型不存在”

答案 2 :(得分:1)

interface Number { test(min, max): number; }    

Number.prototype.test = function (min, max) { return 0 };

// Examples:
(1).test(0, 0)

var a = 1
a.test(0, 0)

直播代码:typescriptlang.org/Playground