在TypeScript中扩展JavaScript基础对象的功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在TypeScript中扩展JavaScript基础对象的功能相关的知识,希望对你有一定的参考价值。

最近工作中用到,记录一下:假设我们需要一个功能,把一个数字比如10000输出为下面的字符串格式“10,000”,一般是写一个方法,那么我希望更方便一点,直接向Number类型添加一个格式化方法,比如叫toFormat的方法来实现得到格式化后的字符串。

添加.d.ts定义

要在TypeScript中扩展一个基础对象的方法需要预先告知编译器有该方法才行:

1 interface Number {
2     toFormat(): string;
3 }

添加实现

具体实现根据需要编写即可,需要注意的是要添加在原型对象上才行:

1 Number.property.toFormat = function () {
2     //拿到数字的值,即数字本身
3     var value = this.valueOf();
4     //这里是具体的处理代码,这里略过了
5     var str = "code";
6     //返回即可
7     return str;
8 }

直接调用即可:

1 var i = 10000;
2 console.log(i.toFormat());

这里我的实现是使用javascript编写的,如果是在TypeScript中,也可以使用TS的方式编写。

以上是关于在TypeScript中扩展JavaScript基础对象的功能的主要内容,如果未能解决你的问题,请参考以下文章

来自内置语言扩展的项目范围的 Javascript/TypeScript 语言错误

如何在 Typescript 中访问基类的属性?

什么是typescript?

Javascript 中缺少模块,但 Typescript 中没有

LayaBox---TypeScript---声明合并

TypeScript语法学习