1️⃣ "+" 와 같은 연산 리터럴도 실제 메모리를 차지하는가?

자바스크립트 엔진은 코드를 파싱하고 해석하면서 리터럴과 토큰을 실제 메모리에 저장한다. 하지만 그 단위가 너무나 작기 때문에 메모리 사용량을 크게 증가시키지 않아 영향을 주지 않는다. 자바스크립트 엔진은 이처럼 메모리 사용량을 최적화 하고 성능을 향상시키기 위해서 작은 값들을 효율적으로 관리한다.

2️⃣ 개발자 도구에서 표현식이 아닌 문(변수 선언문, 조건문)을 실행하면 무엇이 출력되나요? 그것을 무엇이라고 부르는가??

undefined라는 값이 출력된다. undefined는 실제로 문이 값을 반환하지 않는 경우의 기본적인 반환 값이기 때문이다.

3️⃣ 자바스크립트에서 값의 평가가 이루어지는 시점은 언제인가?

자바스크립트는 "지연 평가"라는 것을 지원함으로써 값이 정말로 필요로 할 때 비로소 평가가 이루어지며 이를 통해 코드를 최적화 하고 성능을 향상시킨다. 아래는 실제 코드 평가가 이루어지는 상황이다.

  • 변수 할당: 변수에 값을 할당할 때 해당 값의 평가가 이루어집니다.
  • 표현식 실행: 표현식이 실행될 때 그 안에 포함된 값들의 평가가 이루어집니다.
  • 함수 호출: 함수를 호출할 때 인자로 전달되는 값들의 평가가 이루어집니다.
  • 객체 속성 접근: 객체의 속성에 접근할 때 해당 속성의 값의 평가가 이루어집니다.
  • 배열 요소 접근: 배열의 요소에 접근할 때 해당 요소의 값의 평가가 이루어집니다.

4️⃣ 기능을 재사용하기 위해서 함수를 사용하는데 한번만 사용 가능한 '즉시실행함수'는 왜 사용하는가?

즉시실행함수는 기존에 재사용성이 가능한 함수의 목적에서 벗어난다. 즉시실행함수는 한 번 실행되면 그 내부에 선언된 변수와 함수가 외부에서 접근할 수 없는 스코프 내에 존재하므로, 해당 함수를 다시 호출하거나 재사용하는 것은 불가능하다. 그럼에도 쓰는 이유는 기존에 전역 스코프를 오염시키지 않고 임시적인 스코프를 생성하여 변수들을 격리시키는 데 유용하게 사용하기 위함이다.

5️⃣ ";"를 사용해야 하는지 사용하지 말아야 하는지는 "이것"에 달려있는데 "이것"은 무엇인가요??

회사 컨벤션, 세미콜론(;)을 사용해야 하는지 아니면 생략해도 되는지에 대한 여부는 회사나 프로젝트의 코딩 컨벤션에 따라 결정된다.

profile
Whether you're doing well or not, just keep going👨🏻‍💻🔥

0개의 댓글