🛡️

【TS】void型の挙動について

2021/12/18に公開

void型の戻り値は「void型のundefined」

const test = ():void => {
  return;
}

const var = test(); //変数varはvoid型
console.log(var) // => undefined

関数に直接voidを定義すればreturnでエラーとなる。

const test = ():void => {
  return 100; //エラー
}

typeを利用して型定義をするとreturnすることができるが、戻り値がvoid型になるのでエラーになる。

// typeによる型定義
type Test = () => void

const test:Test = () => {
  return 100; // returnできる
}

const var = test(); // varはvoid型の100
const newVar = var + 100; // void型の100に対して100を足すのでエラーになる。

Discussion