일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- webpack
- TypeScript
- bash
- condition
- scss
- 보안
- vue.js
- 앙상블
- dotenv
- nginx
- Python
- loop
- JavaScript
- AI
- property
- npm
- BOJ
- machine learning
- var
- leetcode
- generic
- type
- git
- C++
- security
- Clone
- VUE
- docker
- C#
- vuetify
Archives
- Today
- Total
ice rabbit programming
[JS] var, let, const 본문
자바스크립트를 사용하면 var, let, const로 변수를 선언하게 된다. 순수 자바스크립트는 컴파일 타임에 타입을 알 수 없기 때문에, 타입 추론을 통해 런타임에 타입을 정하게 된다. var, let, const 각각의 차이에 대해 간단하게 정리해보았다.
var : ES5 이전까지 쓰이던 변수 키워드. 함수 스코프에서 유효하다. 재선언이 가능하고, 호이스팅도 가능하다.
let(값 변경 가능), const(값 변경 불가) : ES6부터 쓰이는 변수 키워드. 블록({}) 스코프에서 유효하다. 재선언 및 호이스팅이 불가능하다.
즉 간단하게 말하면 var는 예전에 쓰던 것, let과 const는 요즘 쓰는 것인데 스코프(범위)나 재선언은 들으면 바로 감이 올 텐데 호이스팅이라는 개념은 잘 와닿지 않는 분들도 많을 것이다. 본인도 이것을 보면서 처음 본 개념이었다.
호이스팅 : 일단 사용하고, 아래에서 정의하는 것.
C계열 언어를 써온 개발자라면, 잘 이해되지 않는 개념이다. 본인도 C++, C#을 써왔기 때문에 잘 몰랐다. 아래 예제를 보자.
console.log(sayHi);
var sayHi = "호이스팅이 가능합니다."
console.log(sayHello);
let sayHello = "호이스팅이 불가능합니다."
이런 식으로 사용한 이후에 선언하는 것인데, 위 코드를 실행해보면 sayHello는 let이기 때문에 에러가 발생하지만 sayHi는 정상적으로 출력이 된다.
결론적으로 var보다는 let, const를 쓰는 편이 좋다고 하고, 실제로도 많이 사용된다.
'Development > JavaScript' 카테고리의 다른 글
[JS][TS] Typescript에서의 Interface (0) | 2020.12.08 |
---|---|
[JS][TS] TypeScript의 간단한 설명과 타입 (0) | 2020.11.27 |
[JS][WebPack] WebPack에서 환경변수 사용하기 (1) | 2020.10.24 |
[JS][Vue] local에서 proxy table 사용하기 (0) | 2020.10.24 |
[Node.js] npm cache 해결 (3) | 2020.09.27 |