Non-null assertion operatorを使わない
typescript の addEventListerner で苦しんでいます。
TypeScriptのaddEventListenerで苦しんだところまとめ - Qiita の、問題2の解決②
code:js
const file = e.target.files!0
このビックリマークってなんなのと思ったら、nullでないことを明示するためのものらしい。プログラム的には files が null の可能性があるためですね。
TypeScript: Handbook - TypeScript 2.0 曰く、Non-null assertion operator というものらしいが、TypeScriptのunsafeな操作まとめ - Qiita にある通り、使うのはよくないっぽい。
この files が null でないとは限らないのに、僕が「こいつは絶対nullちゃうで」と宣言して良いのだろうか、よくない(反語)
というわけで、nullかそうでないかを三項演算子で分類分けしました。
code:js
const file = e.target.files ? e.target.files0 : null
if (file !== null) {
// 続きの処理
}
#typescript