我用一个简单的方法扩展了Typescript中的String原型:
StringExtensions.ts
String.prototype.toCleanedTitleCase = function ():string {
let titleCase = this.replace(/\w\S*/g, function (txt) {
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase()
})
return titleCase.replace(new RegExp(" ", 'g'), "").replace(new RegExp("-", 'g'), "")
}
然后在定义文件中添加了一个接口:
StringExtensions.d.ts
interface String {
toCleanedTitleCase():String;
}
然后调用它:
index.ts
console.log(("Some string that needs a-sorting").toCleanedTitleCase();
所有编译都很好,但是当我运行我的应用程序(节点js)时,我得到“xxx.toCleanedTitleCase”不是一个函数。
我缺少什么想法?