在TypeScript中扩展JavaScript基础对象的功能
2017-04-14 19:18 阿诚de窝 阅读(4365) 评论(1) 编辑 收藏 举报最近工作中用到,记录一下:假设我们需要一个功能,把一个数字比如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的方式编写。
天道酬勤,功不唐捐!