在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的方式編寫。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM