在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 语言错误