【JavaScript/TypeScript】delete演算子のオペランド型の警告の対処方法

JavaScript

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演算子のオペランド型の警告の対処方法について解説しました。

結構簡単な内容ではありますが、せっかく発生した警告で初学者の方に役立つかなと思い記事にしましたので、迷っている方は是非参考にしてください!

オススメの関連商品

Note一覧

コメント

タイトルとURLをコピーしました