函數返回類型的注解
// 定義函數返回值類型
function getTotal(one: number, two: number): number {
return one + two;
}
// 使用類型推斷,不需要明確規定注解類型
const total = getTotal(1, 2);
// 無返回值
function sayHello(): void {
console.log("hello world");
}
never
返回值類型
永遠執行不完。
// 拋異常
function errorFuntion(): never {
throw new Error();
console.log("Hello World");
}
// 死循環
function forNever(): never {
while (true) {}
console.log("Hello JSPang");
}
函數參數類型定義的坑
函數參數為對象(解構)時
// 正確寫法
function add({ one, two }: { one: number, two: number }): number {
return one + two;
}
const three = add({ one: 1, two: 2 });
// 對象只有一個變量也得這么寫
function getNumber({ one }: { one: number }): number {
return one;
}
const one = getNumber({ one: 1 });