在冒号后添加一个类型。TypeScript 可以推断许多类型,因此当它有助于提高清晰度或无法进行推断的地方,您就需要进行注解。
ts
: = ;
name = ;
(): {
name.(times);
}
: [] = [, , ];
: { : ; : } = { : , : };
在冒号后添加一个类型。TypeScript 可以推断许多类型,因此当它有助于提高清晰度或无法进行推断的地方,您就需要进行注解。
: = ;
name = ;
(): {
name.(times);
}
: [] = [, , ];
: { : ; : } = { : , : };
function add(a: number, b: number) { return a + b; } // inferred return: number
function load(): Promise<User> { ... } // explicit — documents the contract
返回类型是推断的,但在导出/公共函数上注解它们是一个很好的做法:它记录了意图,并捕获了函数内部的错误(如果您不小心返回了错误的东西,错误会指向该函数,而不是其调用者)。
function log(msg: string): void {} // returns nothing
function fail(): never { throw new Error(); } // never returns normally
const fn: (x: number) => string = ...; // function type annotation
经验法则:**显式注解函数签名(参数和公共返回类型),让本地变量进行推断。**这在保持代码简洁的同时,使函数边界处的约定清晰且经过检查。