Jeden Tag, aufrichtig und lustig.

js 19. let 본문

JavaScript

js 19. let

a-nanas 2022. 7. 9. 16:05

let

ES6이후로  var를 보완한 let과 const예약어가 생겼다.

* ES : ECMAScript

 

var의 단점

1. var예약어를 누락하면 의도치 않게 전역 변수가 된다.

2. 코드량이 많아지면 실수로 사용중이던 변수를 재선언하거나

    값을 재할당하는 경우가 발생한다.

 

스코프의 범위

함수 영역(레벨)의 스코프 : var

블록 영역의 스코프 : let / const

 

*( )블록이나 { }블록 안에서만 사용가능한 변수를 '블록변수'라고 한다.

 

블록영역 스코프

let 예약어로 선언한 변수는 변수를 선언한 블록({ })에서만 유효하다.

function iLike(n) {
 let sum = 0 ;
  for(let i = 1; i < n ; i++){
   sum += i ;
  }
console.log(sum);
}

 

만약 전역 변수를 선언하고 싶다면,

let예약어를 쓰지 않고 변수이름과 초깃값만 할당하면 된다.

function iLike(n) {
    sum = 0 ; // 전역 변수 선언
  for(let i = 1; i < n ; i++){
   sum += i ;
  }
}
iLike(10);
console.log(sum); // 전역 변수 사용

또한 let예약어를 사용해서 선언한 변수에

값을 재할당할 수는 있지만,

변수를 재선언할 수는 없다.

 

function iLike(n) {
   let sum = 0 ;
  for(let i = 1; i < n ; i++){
   sum += i ;
  }
  sum = 150 ; // sum 변수 재할당
  console.log(sum);
}
iLike(30);

 

let으로 선언한 변수를 재선언하면 오류가 발생하므로

let예약어는 같은 변수 이름을 중복해서 사용할 수 없다.

function iLike(n) {
   let sum = 0 ;
    for(let i = 1; i < n ; i++){
   sum += i ;
  }
  let sum ; // sum 변수 재선언
  console.log(sum);
}
iLike(30);

호이스팅이 없는 변수

let예약어를 사용한 변수는 선언하기 전에 사용할 경우

오류 메시지가 발생한다.

'JavaScript' 카테고리의 다른 글

js 21. 함수 표현식  (0) 2022.07.09
js 20. const  (0) 2022.07.09
js 18. object  (0) 2022.07.04
js 17. 반복문-for  (0) 2022.06.29
js 16. splice  (0) 2022.06.27