자바스크립트 미니 과제


1. 변수 스코프

js
복사편집
let x = 10;

function foo() {
  let x = 20;
  console.log(x);
}

foo();
console.log(x);

Q: 위 코드가 출력하는 결과는? 왜 그런가요?


2. 호이스팅

js
복사편집
console.log(a);
var a = 5;

Q: 위 코드를 실행하면 어떤 일이 일어날까요?


3. 참조와 복사

js
복사편집
let a = { value: 10 };
let b = a;
b.value = 20;

console.log(a.value);

Q: 위 결과는 얼마일까요? a.value가 바뀌는 이유는?


4. typeof와 형변환

js
복사편집
console.log(typeof null);
console.log(typeof NaN);
console.log(1 + "2");
console.log("5" - 1);

Q: 각 줄의 결과를 예측하고, 그 이유를 설명해보세요.