有没有更好的方法来为Typescript中的名称空间导入?

时间:2019-10-13 00:28:11

标签: typescript namespaces

以下是在打字稿中使用命名空间的一些示例代码:

    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"));
})();

0 个答案:

没有答案