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

Fanta Lab

질문 3 · 실전 면접 답변

JavaScript의 원시 타입과 객체 타입은 어떻게 구분하나요?

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

JavaScript의 값은 undefined, null, boolean, number, bigint, string, symbol의 7가지 원시 타입과 나머지 객체 타입으로 나뉩니다. 원시값은 그 자체를 변경할 수 없는 불변 값이고, 배열과 함수를 포함한 객체 타입은 프로퍼티를 가지며 참조를 통해 내부 상태를 바꿀 수 있습니다. 또한 숫자를 다루는 number는 정수와 부동소수점을 함께 표현하지만 안전하게 표현할 수 있는 정수 범위가 정해져 있어, 아주 큰 정수는 bigint로 구분해 다룹니다.

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

  1. typeof 연산자는 함수에 'function'을, null에 'object'를 반환하므로 모든 타입을 완벽히 분류해 주지는 않습니다.
  2. 객체를 다른 변수에 대입하면 같은 참조를 공유하므로 한쪽에서 프로퍼티를 수정하면 다른 변수에서도 변경된 값이 보입니다.

면접에서 자주 하는 실수

원시값 자체가 불변이라는 특성과 변수에 다른 값을 재할당할 수 없는 상태(const)를 같은 뜻으로 설명하지 않도록 주의합니다.

원리와 예제까지 읽기

공식 참고 자료

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

← JavaScript