• TypeScript特性
  • 类型

    TypeScript特性

    现在,从TypeScript代码生成JavaScript已经被去神秘化了,它的一些功能可以被描述和实验。

    • 类型
    • 接口
    • 形状
    • 装饰

    类型

    许多人没有意识到这一点,JavaScript中实际上有类型的,但他们只是“鸭子类型”,这大概意味着程序员不必去想它们。TypeScript中也存在JavaScript的类型:

    • boolean (true/false)
    • number整数,浮点数,InfinityNaN
    • string 字符和字符串
    • []其他类型的数组,如number[]boolean[]
    • {} 对象字面量
    • undefined 没有设置

    TypeScript添加

    • enum 枚举类 { Red, Blue, Green }
    • any 使用任何类型
    • void 无类型

    原始类型示例:

    1. let isDone: boolean = false;
    2. let height: number = 6;
    3. let name: string = "bob";
    4. let list: number[] = [1, 2, 3];
    5. let list: Array<number> = [1, 2, 3];
    6. enum Color {Red, Green, Blue};
    7. let c: Color = Color.Green;
    8. let notSure: any = 4;
    9. notSure = "maybe a string instead";
    10. notSure = false; // okay, definitely a boolean
    11. function showMessage(data: string): void {
    12. alert(data);
    13. }
    14. showMessage('hello');

    这说明在TypeScript的基本类型,并表示结束showMessage的功能。在这个函数中的参数有时被检查特定类型的tsc运行。 在许多JavaScript函数中,函数采用可选参数是很常见的。TypeScript为此提供支持,如下所示:

    1. function logMessage(message: string, isDebug?: boolean) {
    2. if (isDebug) {
    3. console.log('Debug: ' + message);
    4. } else {
    5. console.log(message);
    6. }
    7. }
    8. logMessage('hi'); // 'hi'
    9. logMessage('test', true); // 'Debug: test'

    使用?tsc知道isDebug是一个可选参数。 如果isDebug被省略tsc不会报错。