TLDR;
これでよろしいですか?それとも悪い習慣ですか?
function isUndefined (payload: any): payload is undefined | void {
return payload === undefined
}
環境
undefined
TypeScript には、何かまたはまたはのいずれかを返すことができる関数がありますvoid
。
変更されたペイロードを返すことができるイベント ハンドラーのようなもの、または開発者がペイロードを変更しない場合に備えて、何も返さないか未定義を返すことを選択できます。
function eventHandler <T extends {[key: string]: any}> (payload: T): Modified<T> | undefined | void {
// ... implementation
}
次に、void または undefined 以外を返すかどうかを確認する必要がある型チェッカーがあります。
const result = eventHandler(payload)
if (result !== undefined) {
// we have a modified payload!
}
result !== undefined
ただし、上記のスニペットは、まだ可能であるにもかかわらず、エラーが発生するのvoid
でしょうか?
私の意見ではvoid
、 と同じでなければならないので、それは独特だと思いますundefined
。
だから私はそれを解決するこの型チェッカーを作りました:
function isUndefined (payload: any): payload is undefined | void {
return payload === undefined
}
これで問題は解決しますが、私の質問は次のとおりです。
これでよろしいですか?それとも悪い習慣ですか?