학습 공간 개념 · 판단 · 실험

Fanta Lab

질문 19 · 실전 면접 답변

암묵적·명시적 형변환에서 무엇을 주의해야 하나요?

이렇게 답해 보세요 (핵심 답변)

명시적 형변환은 Number(), String(), Boolean() 등으로 변환 의도를 코드에 직접 드러내는 방식이고, 암묵적 형변환은 연산자나 조건문 규칙에 따라 엔진이 타입을 자동으로 바꾸는 동작입니다. 예를 들어 + 연산자는 피연산자 중 하나가 문자열이면 문자열 연결을 수행하지만 -, *, /는 숫자로 변환을 시도하므로 입력값의 타입을 미리 확인해야 합니다. 실무에서는 예기치 않은 변환을 막기 위해 비교 시 ===를 사용하고, 숫자로 변환한 뒤에는 Number.isFinite() 등으로 NaN 여부를 함께 검증합니다.

함께 설명하면 좋은 이유 (꼬리질문 대비)

  1. 빈 문자열('')이나 공백 문자열(' ')을 Number()로 변환하면 NaN이 아니라 0이 되므로 빈 입력 검사를 따로 해야 합니다.
  2. 기본값을 지정할 때 || 연산자는 0이나 빈 문자열도 falsy로 보아 덮어쓰지만, ??(nullish 병합)는 null과 undefined만 대체합니다.

면접에서 자주 하는 실수

문자열 'false'나 빈 배열 []을 Boolean으로 변환하면 비어 있지 않은 값 및 객체이므로 둘 다 true가 된다는 점을 놓치기 쉽습니다.

원리와 예제까지 읽기

공식 참고 자료

질문 목록 출처 ↗ · 원본 19번을 바탕으로 질문과 답변을 새로 정리했습니다.

← JavaScript