"흔한 case 가 덜 쓰게 만들어."
문법
Default 타입 parameter 가 default 함수 parameter 와 같은 `=` 문법 써: type Result<T, E = Error> 가 "caller 가 E 안 주면 Error 써" 말함. Default 가 caller 가 slot 안 채울 때만 적용.
이건 순수 ergonomic 기능 — 모든 default 가 call site 에 타입 써서 표현 가능하기도. Default 가 20% 안 포기하고 80% case 간결하게 만들려 존재.
흔한 사용
- Error 타입이 Error default:
type Result<T, E = Error> - State 타입이 빈 object default:
type Action<S = {}> - Element 타입이 unknown default:
type Container<T = unknown> - Component props 가 empty default:
type Component<P = {}>
Constraint + default
결합 가능: <T extends Constraint = Fallback>. Default 가 constraint 만족해야. 안 하면 compiler 가 call site 아니라 선언에서 에러. 이게 library 가 안전 (constraint 통해) 과 편의 (default 통해) 둘 다 제공하는 법.
Default 타입 parameter 가 흔한 case 의 유연성을 간결성과 거래. 명백한 default 있고 대부분 caller 가 쓸 때 써. 과용 안 함 — 너무 많은 default 가 타입의 의도 불명확하게.