あのぞんブログ

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

2021-01-04

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

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'
}

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


© 2021 あのぞんびより All Rights Reserved