요약 :)
JavaScript는 독특한 특성과 미묘한 동작으로 인해 경험 많은 개발자조차도 혼란을 겪을 수 있습니다. 이 기사에서는 면접에서 자주 묻는 질문 10가지와 그에 대한 상세한 답변을 제공합니다. 여기에는 typeof NaN이 "number"로 평가되는 이유, ==와 ===의 차이, 호이스팅 개념, 그리고 null과 undefined의 차이와 같은 언어의 특이점이 포함됩니다. 또한, 0.1 + 0.2 !== 0.3과 같은 부동소수점 연산 오류, this의 동작 방식, [] == false가 true로 평가되는 이유 등도 다룹니다.
특히, 변수 스코프와 클로저의 영향을 보여주는 루프와 setTimeout 예제는 JavaScript의 함수 범위(var)와 블록 범위(let)의 차이를 강조합니다. 이러한 질문과 답변은 JavaScript의 특성을 심도 있게 이해하도록 돕고, 면접 시 언어에 대한 지식을 자신 있게 시연할 수 있게 해줍니다.
더보기→