如何利用 TypeScript “never”

TypeScript 是一種 JavaScript 的超集,它提供了類型檢查和其他功能,可以讓開發者更容易地開發出可靠的程式碼。在 TypeScript 中,有一個特殊的類型叫做 “never”,它可以讓開發者更容易地檢查程式碼中的錯誤,並且更容易地修復它們。

“Never” 是一種特殊的 TypeScript 類型,它表示一個函式永遠不會返回任何值。它可以用於檢查函式是否有正確的返回值,以及檢查函式是否有正確的參數。

舉個例子,假設我們有一個函式,它接受一個數字參數,並且返回一個字串:

function getStringFromNumber(num: number): string {
  return num.toString();
}

在這個函式中,我們可以使用 “never” 來檢查參數是否正確:

function getStringFromNumber(num: number | never): string {
  if (typeof num !== 'number') {
    throw new Error('num must be a number');
  }
  return num.toString();
}

在這個函式中,我們可以使用 “never” 來檢查函式是否有正確的返回值:

function getStringFromNumber(num: number): string | never {
  if (typeof num !== 'number') {
    throw new Error('num must be a number');
  }
  if (num < 0) {
    throw new Error('num must be greater than or equal to 0');
  }
  return num.toString();
}

這樣,我們就可以確保函式只會返回正確的值,而不會返回錯誤的值。

另外,我們還可以使用 "never" 來檢查函式是否有正確的參數:

function getStringFromNumber(num: number | never): string {
  if (typeof num !== 'number') {
    throw new Error('num must be a number');
  }
  return num.toString();
}

這樣,我們就可以確保函式只會接受正確的參數,而不會接受錯誤的參數。

總結來說,TypeScript 的 "never" 類型可以讓開發者更容易地檢查程式碼中的錯誤,並且更容易地修復它們。它可以用於檢查函式是否有正確的返回值和參數,以及檢查函式是否有正確的參數。

Categorized in:

Tagged in: