Skip to content

2주차 질문

지권 edited this page Oct 27, 2025 · 7 revisions
  • 자바스크립트에서 변수를 null로 선언하면 메모리를 참조하는가?

    • 참조함. 하지만 더이상 사용하지 않는다는 뜻이기에 가비지컬렉터가 메모리를 해제함
  • 자바스크립트에서 데이터 타입이 필요한 이유 3가지는 무엇인가요?

    • 값을 저장할 때 확보해야하는 메모리 공간의 크기를 결정하기 위해
    • 값을 참조할 때 한 번에 읽어 들여야 할 메모리 공간의 크기를 결정하기 위해
    • 메모리에서 읽어 들인 2진수를 어떻게 해석할지 결정하기 위해
  • 연산자의 부수 효과는 무엇인가요?

    • 연산을 수행하는 과정에서 원래의 목적(값 계산) 외에 추가로 프로그램의 상태를 바꾸는 현상
  • 자바스크립트가 동적 타입 언어인 이유를 정적 타입 언어와 비교하여 설명하고, 동적 타이핑의 특징을 서술하시오.

    • 정적 타입 언어는 변수 선언 시점에 타입이 결정되고 변경할 수 없으며, 컴파일 시점에 타입 체크를 수행한다.
    • 반면 자바스크립트는 변수 선언 시 타입을 지정하지 않고 var, let, const 키워드만 사용한다.
    • 자바스크립트는 값을 할당하는 시점에 변수의 타입이 동적으로 결정되고(타입 추론), 재할당에 의해 변수의 타입이 언제든지 변경될 수 있다.
    • 이러한 특징을 동적 타이핑이라고 하며, 이 때문에 자바스크립트를 동적 타입 언어라고 한다.
  • typeof 연산자로 null 값을 확인할 때의 문제점과 올바른 확인 방법을 설명하시오.

    • typeof 연산자로 null 값을 연산하면 "null"이 아닌 "object"를 반환한다.
    • 이것은 자바스크립트 첫 번째 버전의 버그이지만, 기존 코드에 영향을 줄 수 있기 때문에 아직까지 수정되지 못하고 있다.
    • 따라서 값이 null 타입인지 확인할 때는 typeof 연산자를 사용하지 말고 일치 연산자(===)를 사용해야 한다.

Clone this wiki locally