[TypeScript] 処理しない関数には、戻り値の型(never)を使う

typescript-return-type-never
INDEX

はじめに

初めてのTypeScriptを読みました。
その学習を記録します。

40036_learning_typescript_cvr

結論

neverとは、「return文を持たない」や「処理しない関数」の場合、
戻り値の型を使う事ができる型です。

使い方

OK: return文を持たない

const fail = (message:string):never => {
  throw new Error (`${message}`)
}

NG: return文を持つ

return文を持つ関数(何かしらの処理を有する)ような関数では、
下記のようなエラーが発生する
(※ 値を返さないreturn文は、undefinedを返します)
Type ‘undefined’ is not assignable to type ‘never’.
Unreachable code detected.

const fail = (message:string):never => {
  throw new Error (`${message}`)
  return
}
よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

Born in 1994
Engineer's career is from 2020.10
Skill: Next.js, TypeScript, Django, Python, HTML, CSS

INDEX