RECOMMENDATION CARD HELPERS
추천 카드 헬퍼 (강한 가드)
isRiskLevel / isFuelType 타입가드 기반 안전 헬퍼 + recommendation.ts 와의 행동 차이 비교.
최적
#34c759"optimal"#34c759"caution"#ff9500"risk"#ff6b6b"unknown"#34c759null#34c759undefined#34c75942#34c759""#34c759
isRiskLevel 가드를 통과하지 못한 입력은 모두 optimal 기본값으로 폴백됩니다.
선택: gasoline → 가솔린
| 입력 | helper (가드) | main (폴백) |
|---|---|---|
"gasoline" | 가솔린 | 가솔린 |
"diesel" | 디젤 | 디젤 |
"lpg" | LPG | LPG |
"hybrid" | 하이브리드 | 하이브리드 |
"electric" | 전기 | 전기 |
"hydrogen" | hydrogen | hydrogen |
"" | (빈 문자열) | (빈 문자열) |
null | (빈 문자열) | (타입 거부) |
123 | (빈 문자열) | (타입 거부) |
helper 는 string 이 아니면 '' 폴백, main 은 매칭 안 된 string 을 그대로 반환합니다.
| value | max | helper | main | 일치? |
|---|---|---|---|---|
50 | 100 | 50.0 | 50.0 | ✓ |
200 | 100 | 100.0 | 100.0 | ✓ |
0 | 100 | 0.0 | 0.0 | ✓ |
-10 | 100 | 0.0 | 0.0 | ✓ |
50 | 0 | 100.0 | 0.0 | ⚠️ |
50 | -1 | 100.0 | 0.0 | ⚠️ |
NaN | 100 | 0.0 | 0.0 | ✓ |
50 | NaN | 0.0 | 0.0 | ✓ |
핵심 차이: helper 는 max ≤ 0 이면 100(꽉 찬 바)을, main 은 0(빈 바)을 반환합니다.