TypeScript JavaScript undefinedやnullチェックについて

Array.prototype.find は undefined を返す可能性がありますが、必ずundefined以外の値が変えることを期待したいことがあります。(配列の中に、探したいものが必ずあるケース)
この場合は、findがundefinedを返した場合はエラーをthrowするという共通処理を考えます。
// 引数がundefinedもしくはnullならエラーをthrowする関数
const ensure = function<T>(arg: T | undefined | null){
if(arg === undefined || arg === null) throw new Error('arg is undefined unexpectedly')
return arg
}
//使い方
const data = [
{label: 'AAA', value: 1},
{label: 'BBB', value: 2},
{label: 'CCC', value: 3},
]
const result = ensure(data.find(d => d.value === 4)).label // エラーがthrowされる arg is undefined unexpectedly
最近のコメント