콘솔에 찍힐 b 값을 예상해보고, 어디에서 선언된 “b”가 몇번째 라인에서 호출한 console.log에 찍혔는지,
왜 그런지 설명해보세요. 주석을 풀어보고 오류가 난다면 왜 오류가 나는 지 설명하고 오류를 수정해보세요.
let b = 1;
function hi () {
const a = 1;
let b = 100;
b++;
console.log(a,b);
}
//console.log(a);
console.log(b);
hi();
console.log(b);
- 답변
console.log(b); // 첫번째 줄에 선언 한 let b = 1 의 값을 따라간다.
hi(); // 세번째 줄에 선언 된 const a = 1 네번째 줄에 선언 된 let b = 100 에 b++로 1이 더해져 101 이 출력된다.
console.log(b); //첫번째 줄에 전역변수로 선언 한 값을 따라간다.
주석으로 처리한 //console.log(a); 은 실행했을때 : 에러 Uncaught ReferenceError: 변수 is not defined 가 나온다
그러한 이유는 함수내 선언된 const는 함수 밖에서 참조할수 없다 .
function hi () 에 밖에 선언된 let b = 1; 처럼 함수 밖에서 선언을 해줘서 해결 할수 있다
- 두 값이 다른 이유를 설명해보세요.
1 == "1";
1 === "1";
- 답변
1 == "1" ;은 자동 형변환으로 적용됨
= >문자열로 변환이 가능하다고 여겨 숫자와 문자가 같다고 인식함
1==="1";
=> === 를 사용하여 자동 형변환이 적용되지않게 해야함
'개발일지. > 항해99' 카테고리의 다른 글
| 항해99 2주차 알고리즘 본시험 TIL (22.11.25) (0) | 2022.11.26 |
|---|---|
| 항해99 10기 2주차 WIL (0) | 2022.11.21 |
| 항해99 2주차 주특기 과제 (1.설명하기) (0) | 2022.11.18 |
| 1주차 풀스텍 프로젝트 TIL (22.11.14) (0) | 2022.11.16 |
| 항해 0 주차 입학시험 TIL (22.11.09) (0) | 2022.11.11 |