강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của jjojjo1419959104
jjojjo1419959104

câu hỏi đã được viết

Cơ bản về JavaScript hiện đại (ES6+)

4. Sự khác biệt giữa biến let và biến var

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

Viết

·

269

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

Câu trả lời 2

2

jjojjo1419959104님의 프로필 이미지
jjojjo1419959104
Người đặt câu hỏi

감사합니다!!

2

tonextday님의 프로필 이미지
tonextday
Người chia sẻ kiến thức

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

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

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

Hình ảnh hồ sơ của jjojjo1419959104
jjojjo1419959104

câu hỏi đã được viết

Đặt câu hỏi