앞에 있는 글에서의 예시처럼 이상한값이 나와서 함수가 실패할때를 고려하면 분기가 필요하다

undefined null NaN Infinity등의 값이 생길수가 있다


예를들어 0으로 나누기를 했다고 생각해보자

다른언어는 안되지만 타스는 Infinity값이 나온다

이럴경우에 Maybe를 사용해보면

2ebcc224eadc78ee38f698a518d6040311a9efaf237da2302a9a


출력문에서 첫번째 줄은 Just(1/1)이 반환한 값을 R.add(1)에 더해 2를 출력한다

두번째줄에서는 Nothing이 반환되어 R.add(1)은 동작하지않고 getOrElse(0)가 반환한 0을 출력한다

개념은 알아봤으니까


다음예제에서는 현실적인 상황을 예로들어 api에서 동작하는 함수를 만들어보자