1차 공부/JavaScript

실습과제

공대탈출 2022. 11. 19. 20:02

1) 콘솔에 찍힐 b 값을 예상해보고, 어디에서 선언된 “b”가 몇번째 라인에서 호출한 console.log에 찍혔는지, 왜 그런지 설명해보세요. 주석을 풀어보고 오류가 난다면 왜 오류가 나는 지 설명하고 오류를 수정해보세요.

let b = 1;

function hi () {
	const a = 1;
	let b = 100;
	b++;
	console.log(a,b);
}

console.log(b);
hi();
console.log(b);

일단 처음 출력될 console.log(b)는 1이다.

두번쨰로 hi()는 1,101이다

세번째로 출력될 console.log(b)는 1이다.

 

hi()의 b값이 다른 이유는 function문의 스코프 안에서 b값이 변한 것이기 때문이다.

나머지 console.log(b)의 b는 맨 처음 선언된 b값인 1이 출력된다.

 

2) 두 값이 다른 이유를 설명해보세요.

1 == "1";
1 === "1";

두 값이 다른 이유는 ==와 === 때문이다.

==는 양 변의 값만 비교한다. 오른쪽의 문자열 1은 형 변환이 이루어져 숫자1로 비교하기 때문에 1==1과 같은 문장이다.

따라서 첫 줄은 true이다.

 

두번째 ===는 자료형까지 비교하기 때문에 숫자===문자열 이어서 false값이 출력된다.