選單
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

TypeScript 函式


TypeScript 為函式引數和返回值定義了特定的語法。

關於函式,請在此 閱讀更多內容。


返回型別

函式返回值的型別可以被顯式定義。

示例

// `: number` 表示此函式返回一個數字
function getTime(): number {
  return new Date().getTime();
}
自己動手試一試 »

如果未定義返回型別,TypeScript 會嘗試透過返回的變數或表示式的型別來推斷它。


Void 返回型別

型別 void 可用於表示函式不返回任何值。

示例

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

自己動手試一試 »

引數

函式引數的型別定義語法與變數宣告類似。

示例

function multiply(a: number, b: number) {
  return a * b;
}
自己動手試一試 »

如果未定義引數型別,TypeScript 將預設使用 any,除非有額外的型別資訊,如下面的預設引數和類型別名部分所示。


w3schools CERTIFIED . 2022

獲得認證!

完成 TypeScript 模組,做練習,參加考試,成為 W3Schools 認證!!

$45 報名

可選引數

預設情況下,TypeScript 會假定所有引數都是必需的,但也可以顯式將其標記為可選。

示例

// `?` 運算子此處將引數 `c` 標記為可選
function add(a: number, b: number, c?: number) {
  return a + b + (c || 0);
}
自己動手試一試 »

預設引數

對於具有預設值的引數,預設值放在型別註解之後

示例

function pow(value: number, exponent: number = 10) {
  return value ** exponent;
}
自己動手試一試 »

TypeScript 也可以從預設值中推斷出型別。


命名引數

為命名引數鍵入與為普通引數鍵入遵循相同的模式。

示例

function divide({ dividend, divisor }: { dividend: number, divisor: number }) {
  return dividend / divisor;
}
自己動手試一試 »

Rest 引數

Rest 引數可以像普通引數一樣鍵入,但型別必須是陣列,因為 rest 引數始終是陣列。

示例

function add(a: number, b: number, ...rest: number[]) {
  return a + b + rest.reduce((p, c) => p + c, 0);
}
自己動手試一試 »

類型別名

函式型別可以與類型別名分開指定。

這些型別寫起來類似於箭頭函式,關於箭頭函式,請在此 閱讀更多內容。

示例

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

// 在此函式中,引數 `value` 會自動從 `Negate` 型別分配 `number` 型別
const negateFunction: Negate = (value) => value * -1;
自己動手試一試 »

TypeScript 練習

透過練習來測試自己

練習

建立一個函式,該函式返回字串 "Learning is Fun!",並顯式定義返回型別

 myFunc():  {
   "Learning is Fun!";
}

開始練習



×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援