강의

멘토링

커뮤니티

Inflearn Community Q&A

jjojjo1419959104's profile image
jjojjo1419959104

asked

Modern JavaScript (ES6+) Basics

4. Difference between let and var variables

let 변수와 var 변수를 비교하는 예제 질문입니다.

Written on

·

268

2

 {
    let k = 0;
    node.children[k].onclick = function(event) {
      event.target.style.backgroundColor = "yellow";
      console.log(k);
    }
  }
  {
    let k = 1;
    node.children[k].onclick = function(event) {
      event.target.style.backgroundColor = "yellow";
      console.log(k);
    }
  }
  {
    let k = 2;
    node.children[k].onclick = function(event) {
      event.target.style.backgroundColor = "yellow";
      console.log(k);
    }
 }

선생님 예제에서 for문에서 k 가 증가할때마다 k의 블록 스코프가 생성된다고 이해했습니다. 이해가 잘되지 않는 반복문은 풀어서 쓰면 이해가 잘됬어서 위의 코드처럼 반복문을 풀어썼는데 저렇게 이해하는게 맞는건가요? 

블록으로 지정하지 않고 k를 선언하니까 var 로 선언했을 때와 같이 3으로 출력되서 let k 를 각각의 블록으로 묶었더니 예제와 같이 동작하지만 for문을 위와같은 형태로 풀어써본적이 없어서 질문드립니다!

javascriptes6

Answer 2

2

감사합니다!!

2

tonextday님의 프로필 이미지
tonextday
Instructor

1. 코드처럼 반복문을 풀어썼는데 저렇게 이해하는게 맞는건가요? 
==> 맞습니다.

2. var 로 선언했을 때와 같이 3으로 출력되서
==> 이것도 맞습니다. let과 var의 차이입니다.

지금 정확하게 이해하고 계십니다. 풀어서 논리적으로 정리하려는 접근, 너무 좋습니다. 멋있습니다. 

jjojjo1419959104's profile image
jjojjo1419959104

asked

Ask a question