在TypeScript中扩展功能
- 论坛
- 在TypeScript中扩展功能
10 浏览
在TypeScript中扩展功能
我目前正在学习TypeScript,并且想知道如何向现有对象添加功能。假设我想为String对象添加一个Foo的实现。在JavaScript中,我会这样做:
String.prototype.Foo = function() { // DO THIS... }
了解到TypeScript的类、接口和模块是开放式的,我尝试了以下方法,但没有成功:
1. 引用JavaScript实现到TypeScript中
JavaScript: String.prototype.Foo = function() { // DO THIS... } TypeScript: var x = "Hello World"; x.Foo(); //ERROR, Method does not exist
2. 扩展接口
interface String { Foo(): number; } var x = "Hello World"; x.Foo(); //存在接口但没有实现
3. 扩展类
class String { Foo(): number { return 0; } } // ERROR: Duplicate identifier 'String'
从这些结果可以看出,到目前为止,我能够通过接口合约添加方法,但没有实现,那么,我该如何定义和实现作为现有String类的一部分的Foo方法呢?