TIIL76.non-null断言とオプションリンク


nullタイプのエラーを解決し、クリーンアップします.
*strictオプションをtrueに設定するとnullタイプエラーが発生します.
空のタイプエラーの解決方法
object is possibly 'null'. ts(2531)
nullタイプエラーが発生した場合、被演算子がnullish(nullまたはundefined)値ではないことを指定する必要がありますが、条件文またはnon-null断言を使用して解決できます.
1.if条件文
function handleEvents() {
 if(rank) {
	rank.addEventListener('click', handleClick);
 }
}

// or

function handleEvents() {
 if(!rank) {
   return;
 } 
 	rank.addEventListener('click', handleClick);
}
2.non-null assertion (!)
nullでなければ、non-null assertionで「値がある」と断言できます.
function handleEvents() {
	rank!.addEventListener('click', handleClick);
}
3.オプションのチェーン演算子(?)
Optional chainingはnullish時にundefiendを返し、エラーを発生させるのではありません.
エラーではなくundefinedを返すので、エラー処理の役割も果たします.
function handleEvents() {
if(rank === null || rank === undefined) {
	return;
 }
  	rank.addEventListener('click', handleClick);
}
// 위의 코드와 아래의 옵셔널 체이닝 연산자는 같다.
function handleEvents() {
	rank?.addEventListener('click', handleClick);
}