예외를 이용하지 않은 오류 처리 - Either

Jason Kim·2020년 5월 6일
0

이 시리즈는 "스칼라로 배우는 함수형 프로그래밍"을 TypeScript로 실습한 내용을 정리하고 있습니다.

Either 자료 형식

Either 자료 형식은 둘 중 하나 일 수 있는 값들을 대표한다. 이 형식은 두 형식의 분리합집합(disjoint union; 서로 소 집합)이라 할 수 있다. Option과의 본질적인 차이는 두 경우 모두 값을 가진다는 점이다.

연습문제 4.6

https://github.com/JsonKim/fpinscala-with-typescript/commit/8460f768ea6435b404d2cb0bf9e67cff3f5a76d6

연습문제 4.7

https://github.com/JsonKim/fpinscala-with-typescript/commit/ef0a68d652c69c2c57b820fa4f508cfd828cd5ba

연습문제 4.8

여러 방법이 있겠지만 에러 형식 E를 누적이 가능한 타입(List,Array등)으로 대체해서 새로운 형식을 만들 수 있다. 이러한 형식은 보통 Validation 이라고 불린다. map2, sequence 등의 함수에서 에러가 있을 경우 바로 돌려주지 않고 누적된 값으로 만들어줄 수 있다.

요약

예외를 보통의 값으로 표현하고 고차 함수를 이용해서 오류 처리 및 전파의 공통 패턴들로 캡슐화할 수 있다. 이를 더욱 일반화하면 임의의 효과를 값으로 표현한다는 착안이 된다.

0개의 댓글