亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
TypeScript 教程 / 函數(shù)

函數(shù)

返回類型

可以顯式定義函數(shù)返回值的類型。

實(shí)例

// 這里的 : number 表明此函數(shù)返回一個(gè)數(shù)字
function getTime(): number {
  return new Date().getTime();
}

如果沒有定義返回類型,TypeScript 將嘗試通過返回的變量或表達(dá)式的類型來推斷它。

void 返回類型

void 類型可用于指示函數(shù)不返回任何值。

實(shí)例

function printHello(): void {
  console.log('Hello!');
}

參數(shù)

函數(shù)參數(shù)的類型化使用與變量聲明類似的語法。

實(shí)例

function multiply(a: number, b: number) {
  return a * b;
}

如果沒有定義參數(shù)類型,TypeScript 將默認(rèn)使用 any,除非在下面的默認(rèn)參數(shù)和類型別名部分中提供了額外的類型信息。

可選參數(shù)

默認(rèn)情況下,TypeScript 會假定所有參數(shù)都是必需的,但它們可以被明確標(biāo)記為可選的。

實(shí)例

// 這里的 ? 操作符將參數(shù) c 標(biāo)記為可選
function add(a: number, b: number, c?: number) {
  return a + b + (c || 0);
}

默認(rèn)參數(shù)

對于具有默認(rèn)值的參數(shù),默認(rèn)值應(yīng)在類型注釋之后:

實(shí)例

function pow(value: number, exponent: number = 10) {
  return value ** exponent;
}

TypeScript 還可以從默認(rèn)值推斷類型。

命名參數(shù)

為命名參數(shù)類型化遵循與為普通參數(shù)類型化相同的模式。

實(shí)例

function divide({ dividend, divisor }: { dividend: number, divisor: number }) {
  return dividend / divisor;
}

剩余參數(shù)

剩余參數(shù)可以像普通參數(shù)一樣進(jìn)行類型化,但其類型必須是數(shù)組,因?yàn)槭S鄥?shù)始終是數(shù)組。

實(shí)例

function add(a: number, b: number, ...rest: number[]) {
  return a + b + rest.reduce((p, c) => p + c, 0);
}

類型別名

可以使用類型別名將函數(shù)類型與函數(shù)分開指定。

這些類型的編寫類似于箭頭函數(shù),參閱:箭頭函數(shù)。

實(shí)例

type Negate = (value: number) => number;

// 在此函數(shù)中,參數(shù) value 自動從類型 Negate 中獲取類型 number
const negateFunction: Negate = (value) => value * -1;