delete演算子のオペランド型の警告が発生
今回は業務で作業していた際に、既存のコードで警告が出ていて、修正した際の備忘録となります!
エラーメッセージも掲載しておきますので、同じように警告が出て困っている方がいましたら、参考にしてください!
発生した警告
今回、発生した警告はこちらになります!
The operand of a 'delete' operator must be optional.
警告が出たコード
今回は、こちらのコードのdelete query.something2Idの部分で警告が出ていました。
const query = Object.assign(this.$route.query, {
something1Id: this.something1Id,
something2Id: this.something2Id,
something3Id: this.something3Id
})
...
...
...
delete query.something2Id
原因
原因は、deleteしているquery.something2Idの部分が型推論で必須の指定になっていたからでした。
delete演算子のオペランド型はオプショナル属性でなければならない
https://meetup-jp.toast.com/3749
修正後のコード
こちらが修正後のコードになります!
型推論だとquery.something2Idが必須になってしまうので、明示的に型を指定して、query.something2Idをオプショナル属性にすればOKです。
const query: {
something1Id: string
something2Id?: string
something3Id: string
} = Object.assign(this.$route.query, {
something1Id: this.something1Id,
something2Id: this.something2Id,
something3Id: this.something3Id
})
...
...
...
delete query.something2Id
まとめ
今回は、delete演算子のオペランド型の警告の対処方法について解説しました。
結構簡単な内容ではありますが、せっかく発生した警告で初学者の方に役立つかなと思い記事にしましたので、迷っている方は是非参考にしてください!
コメント