1. 변수 선언 방식
우선, var는 변수 선언 방식에 있어서 큰 단점을 가지고 있다.
var name = 'bathingape'
console.log(name) //bathingape
var name = 'javascript'
console.log(name) //javascript
변수를 한 번 더 선언했음에도 불구하고, 에러가 나오지 않고 각기 다른 값이 출력되는 것을 볼 수 있다.
이는 유연한 변수 선언으로 간단한 테스트에는 편리할 수 있겠으나, 코드량이 많아 진다면 어디에서 어떻게 사용될 지도 파악하기 힘들 뿐더러 값이 바뀔 우려가 있다.
그래서 ES6 이후, 이를 보완하기 위해 추가된 변수 선언 방식이 let과 const이다.
위의 코드에서 변수 선언 방식만 바꿔보자.
let name = 'bathingape'
console.log(name) // bathingape
let name = 'javascript'
console.log(name) // Uncaught SyntaxError : Identifier 'name' has already been declared
name이 이미 선언 되었다는 에러 메시지가 나온다. (cosnt도 마찬가지)
변수 재선언이 되지 않는다.
그렇다면 let과 const의 차이점은 무엇일까?
이 둘의 차이점은 immutable 여부이다.
let은 변수에 재 할당이 가능하다. 그렇지만,
let name = 'bathingape'
console.log(name) // bathingape
let name = 'javascript'
console.log(name)
// Uncaught SyntaxError: Identifier 'name' has laready been declared
name = 'react'
console.log(name) // react
const 는 변수 재선언, 변수 재할당 모두 불가능하다.
const name = 'bathingape'
console.log(name) // bathingape
const name = 'javascript'
console.log(name)
// Uncaught SyntaxError: Identifier 'name' has laready been declared
name = 'react'
console.log(name) // Uncaught TypeError : Assignment to constant variable.
LIST
'Study > JavaScript' 카테고리의 다른 글
[JavaScript] GSAP | TweenMax 쉽게 애니메이션을 구현하는 방법 (0) | 2021.07.18 |
---|---|
[JAVASCRIPT] Call By Value && Call By Reference에 대해서 알아보자 (0) | 2021.04.08 |
[클로저] 클로저를 활용할 때 주의사항 (0) | 2019.06.16 |
[클로저] 함수의 캡슐화 (0) | 2019.06.16 |
[클로저] 클로저의 개념 (0) | 2019.06.15 |