변수와 연산자 안전 판단 기준
값을 저장한 뒤 바로 계산하지 말고 타입과 변환 가능성을 먼저 확인하면 결과를 예측하기 쉽다.
| 판단 축 | 확인할 것 | 안전한 선택 | 위험 신호 |
|---|---|---|---|
| Scope | 변수가 어디까지 보이는가 | 블록 안에서 필요한 만큼만 선언 | 전역 상태에 의존 |
| Mutation | 값이 바뀌어야 하는가 | const 기본, let 제한 | 의도 없이 재할당 |
| Conversion | 문자열과 숫자 변환 | Number(), String() 명시 | 자동 변환 기대 |
| Comparison | 동등성 판단 | ===, !== 우선 | ==로 서로 다른 타입 비교 |
| Boolean | truthy/falsy 판단 | 명시 조건으로 작성 | 빈 문자열, 0, null 혼동 |
연산자 버그는 계산식보다 그 전에 값의 타입과 변환 규칙을 확인했는지에서 갈린다.