はじめに
JS勉強中に早期リターンについて考えることがあった。
そもそも早期リターンとは的なところから使い方までをメモ。
早期リターンって?
早期リターンは、関数(メソッド)などの処理の中で、条件を満たした時にすぐにreturnやcontinue/breakでその処理から抜ける方法。
早期リターンはearly returnともいう。
if文のネストを減らせたり、無駄な処理を回避できたりするメリットがある。
早期リターンをいつ使うのか
条件を満たした場合
例えば、下記のようなif文があったとする。
if(A != B){
if(A == C){
return true;
}else {
return false;
}
return true;
}else {
return false;
}
これを早期リターンすると。
if(A == null) return;
if(A != C) return;
return true;
として早期リターンすることで、コードを減らすことができる。
エラーハンドリングで使う
DOMを取得する時、対象のDOMが存在しない場合に発生するエラーの時点でreturnさせることで、以降の処理へ進ませないようにするなどエラーハンドリングとして使用する。
const element = document.getElementsByClassName('target')
if(element.length === 0) return;
この場合、targetというクラスのDOMが存在しない場合(lengthが0)の場合は早期リターンしている。
早期リターンの使いすぎはよくないらしい
- 早期リターンは適切に使わないとコードが読みにくくなる可能性もあるらしい
- 早期リターンの条件が複雑すぎると、バグを生む可能性もあるらしい
早期リターンは適切な場所で適切に使うようにする。