以下是在打字稿中使用命名空间的一些示例代码:
1
2 a
3 a
4 ab
5 abc
6 abc
7 abcd
8 abcde
9 abcdef
10 1a2bc3def abcdef <<<<< end-of-recursion
9 abcdef_
8 abcde_
7 abcd_
6 abc_
5 abc_
4 ab_
3 a_
2 a_
1 _
result: abcdef
这是导入命名空间并使用LettersOnlyValidator类的一些示例代码:
export namespace com.ng.validation {
export interface StringValidator {
isAcceptable(s : string) : boolean;
}
export class LettersOnlyValidator implements StringValidator {
lettersRegexp : RegExp;
constructor() {
this.lettersRegexp = /^[A-Za-z]+$/;
}
isAcceptable(str: string) : boolean {
return this.lettersRegexp.test(str);
}
}
}
Imho,这确实是丑陋的代码。是否有任何Typescript功能可导入类似于此C ++代码片段的名称空间?:
import { com } from "./validation/string-validator";
(function() {
let val : com.ng.validation.StringValidator = new com.ng.validation.LettersOnlyValidator();
console.log(val.isAcceptable("AB1C"));
})();