経験知ロゴ

Typescriptのmatchで「オブジェクトは ‘null’ である可能性があります。」というエラーの対処法

※本ページはプロモーションが含まれています

Typescriptロゴ

Typescriptでmatchプロパティを使うと「オブジェクトは ‘null’ である可能性があります。」というエラーが表示されます。

これは、matchプロパティに追加で返り値の要素をつなげて取り出そうとしていたからでした。

const res = string.match(/[A-Z]/)[1]

対策としては、短く書かずにしっかりnull処理をする方法があります。

const res = string.match(/[A-Z]/)
if(res){
  return res[1]
}else{
  return null
}

または、nullにならないことが確実なら「非nullアサーション演算子」の「!」をつけて対処できますが、予期しないバグの温床になる可能性があるので注意が必要です。

const res = string.match(/[A-Z]/)![1]

役に立ったらこの記事のシェアをお願いします

ブログのフォロー・RSS購読は下記ボタンから