이챙의 개발 log
[es6] let 과 const , let과 const의 차이 , 공통점
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을 사용합시다 !
'javascript > es6' 카테고리의 다른 글
TDZ(Temporal Dead Zone) 란..? TDZ로 인한 var,let,const 알아보기 (0) | 2020.12.11 |
---|---|
[es6]Set(),WeakSet(),set 메소드,set 으로 중복없는 배열 만들기, set 배열로 만들기 (0) | 2020.08.20 |
[es6] Destructuring assignment 구조분해할당 (0) | 2020.08.12 |
[es6]특정 문자열로 시작하는지 끝나는지 알 수 있는 메서드 startsWith() , endsWith() (0) | 2020.07.31 |
[es6]Array for of 배열 순회하기,펼침연산자로 배열 복사하기,유사배열을 배열로 바꿔주는 from() 메서드 (0) | 2020.07.01 |
이챙(leechaeng)
프론트엔드 개발도 하고 뛰기도 하고