[es6] let 과 const , let과 const의 차이 , 공통점

javascript/es6
블로그 이미지

이챙(leechaeng)

﹒2020. 6. 19.

es6에서 새로운 변수가 추가되었는데요.

스코프의 개념을 알고 있어야 변수를 사용하는데 이해가 되실 것 같습니다.

개념을 알고계신다 전제하에 이번포스팅을 하도록 할게요.






👉 let , const 공통점





1. 블록레벨스코프(block-level-scope)

	

if(true){
   let name = '카카오 어피치'
   console.log(name)
}


if 블록안에 변수 let을 선언해주었습니다

콘솔에 제대로 찍히는 걸 확인할 수 있습니다


블록 밖에서 콘솔을 찍어볼까요 ?


	

if(true){
   let name = '카카오 어피치'
}
   console.log(name)


엇 아무것도 나오지않죠..

이로써 확인 할 수 있는게 

변수가 블록안에서만 값이 유효하다 라는걸 알수있습니다





2. 재선언 불가.


var 의 경우에는 재선언이 가능했죠.

하지만 let과 const는 재선언이 불가능 합니다.

	

if(true){
   let name = '카카오 어피치'
   let name = '카카오 라이언'

   console.log(name)
}







👉 let , const 차이




엇 그럼 이쯤에서 둘다 변수면 뭐가다른거죠?

라는 생각이 들겠죠



재할당이 되냐 안되냐의 차이.


let은 재할당이 가능하고

const는 재할당이 불가능합니다.

자세히 알아볼까요!


	

if(true){
   let name = '카카오 어피치'
   name = '카카오 라이언';

   const color = 'red';
  // color = 'blue';

   console.log(name,':',color)
}


변수 name 의 값을 어피치에서 라이언으로 바꾸어줬더니 

값이 바뀌었습니다.


const는 값을 선언해주었구요.

주석처리 해놓은 부분을 풀어볼게요.



오류가 납니다.

오류난 곳을 봐보니

const 로 선언한 변수의 값을 바꿔준 부분을 가르켜주네요





그럼 const는 자바스크립트에서 값 바꿔주는게 다 안되는거냐

아닙니다.


배열이나 객체에서 값을 바꾸는 건 가능합니다.








👉 어떻게 사용해야 할까 ?




es6를 기반으로 작업을 할땐

var 를 사용하지 않고

const 와 let을 사용합니다.


const를 기본적으로 사용하고 값이 바뀔 수 있는 변수는 let을 사용합시다 ! 




이챙(leechaeng)
이챙(leechaeng)

프론트엔드 개발도 하고 뛰기도 하고

'javascript/es6' 카테고리의 관련 글