Some functions need to check various conditions before running their instructions. Suppose you have a function that does complex calculations when the player gets hit. Something like:
func player_hit(damage: int) -> void:
if player_health > 0:
if player_is_invincible == false:
player_health -= damage
Early returns allow to avoid nesting:
func player_hit(damage: int) -> void:
if player_health < 0:
return
if player_is_invincible == true:
return
player_health -= damage
In this example, if anything prevents the function from functioning, it will return
, interrupting itself. Not only does this avoid deeply nesting if
statements, but it also makes mistakes a little less likely.
This example is very straightforward, but in longer pieces of code, it often happens that you write a piece of code outside the boundary of the conditional by mistake. Early returns make that type of mistake impossible.See Also
Related terms in the Glossary