🎃

アロー関数とfunction それぞれの Type Guard 書き方

2021/09/18に公開

この記事では アロー関数で Type Guard について紹介します。

TypeScript: TS Playground - An online editor for exploring TypeScript and JavaScript

type Nigiri = {
  category: 'nigiri'
  neta: string
}
type Gunkan = {
  category: 'gunkan'
  neta: string
  nori: number
}
type Sushi = Nigiri | Gunkan

function パターン

function isNigiri(sushi: Sushi): sushi is Nigiri {
  return sushi.category === 'nigiri'
}

arrow function パターン

const isGunkan = (sushi: Sushi): sushi is Gunkan => sushi.category === 'gunkan'
// or
const isGunkan = (sushi: Sushi): sushi is Gunkan => {
  return sushi.category === 'gunkan'
}

よくコロンを忘れて混乱する。

GitHubで編集を提案

Discussion