【TypeScript】声明文件&规范

2021/09/09 09:36:55

声明文件的作用在于在编辑器中获得提示。

声明语法

使用 declare 关键字进行声明。

变量

declare const 创建只读变量。

declare let 创建块级作用域变量。

declare let foo: number;

函数

声明多个同名函数实现函数重载。

declare function getWidget(n: number): Widget;
declare function getWidget(s: string): Widget[];

带属性的对象

使用 declare namespace 描述用点表示法访问的类型或值。

declare namespace myLib {
    function makeGreeting(s: string): string;
    let numberOfGreetings: number;
}

下面代码在编辑器中可获得提示:

let result = myLib.makeGreeting("hello, world");
console.log("The computed greeting is:" + result);

let count = myLib.numberOfGreetings;

接口

调用函数 greet() 时会有函数参数的提示。

interface GreetingSettings {
  greeting: string;
  duration?: number;
  color?: string;
}

declare function greet(setting: GreetingSettings): void;

类型别名

type GreetingLike = string | (() => string) | MyGreeter;

declare function greet(g: GreetingLike): void;

declare class Greeter {
    constructor(greeting: string);

    greeting: string;
    showGreeting(): void;
}

规范

类型的正确表述

包装类型与基础类型

首字母大写的 Number,String,Boolean,Object 表示非原始的包装类型,应该使用小写的 number,string,boolean 来表示类型。

object 类型

object 表示非基本类型的类型,即不是 number | string | boolean | symbol | null | undefined 的类型。