자바스크립트(jquery)
javascript var? let? const?
현박이
2024. 3. 21. 17:03
반응형
예전에 썼던 블로그를 보니
처음 코딩을 할 때는 막연히 var 도배를 했었구나... 다시 한 번 정리해보자
var
javascript 예시들? 을 보면 꽤나 많이 보이는 선언 종류라고 생각한다.
var name = 'bathingape'
console.log(name) // bathingape
var name = 'javascript'
console.log(name) // javascript
이런식으로 변수 재선언시 오류가 나지않는다.
오류가 나지 않는게 왜 문제가 되느냐? 라고 하는 사람들이 간혹있다.
짧은 코드, 혼자만 사용하는 코드에서는 크게 문제될건 없다.
하지만 코드가 많아지고 여러 사람이 관리하게 된다면 어떻게 사용하게 될지 파악하기 힘들고 값이 바뀔 우려가 있다.
지금 생각해보면 코드가 길어지고 하다보면 var 로 선언한 변수를 밑에서 다시 선언하여 코드가 꼬이는 등 상황이 생길 수 있다.
물론 지금까지 그런일은 없었지만 조심하자
let
위의 코드 중 변수 선언방식만 바꿔보자
let name = 'bathingape'
console.log(name) // bathingape
let name = 'javascript'
console.log(name)
// Uncaught SyntaxError: Identifier 'name' has already been declared
name이 재선언되었다는 에러메세지가 나온다.
ES6이후 추가된 선언 방식으로 변수 재선언이 되지않는다 (const도 마찬가지)
let name = 'bathingape'
console.log(name) // bathingape
name = 'javascript'
console.log(name) // javascript
물론 재할당은 가능하다.
const
const 같은 경우는 재선언, 재할당 모두 불가능하다.
const name = 'bathingape'
console.log(name) // bathingape
const name = 'javascript'
console.log(name)
// Uncaught SyntaxError: Identifier 'name' has already been declared
name = 'react'
console.log(name)
//Uncaught TypeError: Assignment to constant variable.
보통 상수를 할당 할 때 사용하는 변수 선언이다.
이외의 차이점은 호이스팅(Hoisting) 이라는 동작 특성에서 나타나는데 여기서 작성하지는 않겠다.
현재 var 보다 안전하다는 이유로 let 이 표준으로 여겨지고있으므로
기본 변수 선언 : let
상수 선언 : const
으로 사용하면 될 듯 하다.
반응형