undifinedを引数の型に記載しなくても使用できるようになる方法
Q&A
解決したいこと
TypeScriptの引数に渡す値を設定したところ以下のエラーが出てしまいます。
受け取り側のメソッドの引数の型にundefinedを足せばよいことはわかるのですが、
undifinedを足さなくても使用できるようになる方法はないでしょうか。
例で挙げているコードが簡素で申し訳ないのですが、実際の処理上はvalidation.check()に値が設定されているときには
menberInfoおよびidには必ず値が入っている状態です。
上記で書いた方法以外に、直前にifでundifinedではない趣旨のチェックをすることでもエラーは消えますが
処理上は必ず値があることは担保されているため、なるべくやりたくないです。
型 'MenberId | undefined' の引数を型 'string' のパラメーターに割り当てることはできません。
型 'undefined' を型 'string' に割り当てることはできません。ts(2345)
該当するソースコード
private menberInfo?: MenberInfo;
go() {
validation.check(this.menberInfo?.id.id)
}
}
export class validation {
static check(name: string): boolean {
return true
}
}
interface MenberInfo {
name: MenberName;
id: MenberId;
}
interface MenberName {
name: string;
}
interface MenberId {
id: string;
}