var, let, const 란?
- var, let, const 는 변수 선언시 사용되는 키워드
- Var
var은 변수 데이터의 오염이 많이 발생할 수있는 녀석이다.
1 2 3 4 | var a = 1; if(a == 2){ var a = "홍길동"; }//원치않은 변수 오염이 발생할수있음. | cs |
하지만 함수 스코프내에서 선언했을때는 안전하게쓸수있다.
1 2 3 4 | (function () { var name = "Minsu"; console.log(name); })(); //선언과 동시에 실행하는 함수 | cs |
즉시실행함수로 var을 지역변수로 사용할때 쓸수는 있지만, 좀 복잡한 표현으로 보인다.
이러한 문제를 해결?하기위해 등장한 것이 let이다.
- let
let은 var에서 처럼 중복선언을 막아주고, 중괄호 스코프로 완벽히 분리하여 사용할 수 있다.
일반적으로 생각하는 지역변수 처럼 말이다.
한편, var로 선언되기 전 변수를 사용할 때 분명한 에러지만 자바해석기가 알아서 자동적으로
호스팅이라는 방법으로 선언을 해주면서 오류가 없도록 해준다.
선언없는 변수를 사용할때도 자바해석기가 알아서 처리를 하면서 선언을 임의의 위치에 해준다. 이는 예기치 못한 오류가 발생할 가능성이있다.
하지만 let은 선언전에 사용한다고 하면 오류를 내면서 선언을 먼저하라고 알려준다.
1 2 3 | console.log(userName); // let 키워드로 선언한 변수는 호이스팅이 동작하지 않는다. let userName = "홍길동"; console.log(userName); | cs |
- const
const는 상수화, 즉 어떤대상이라도 재할당을 금지하기위해서 이 키워드를 쓴다.
객체, 배열, 함수와 같은..
const는 선언과동시에 리터럴값을 넣어주어야한다.
var, let 키워드를 정리하자면..
var 키워드로 변수선언은 이제 그만!
let키워드는 변수의 재선언을 막아준다.
let키워드는 호스팅이 되지 않으므로 변수 사용전 반드시 먼저 선언해야한다.
let키워드는 블록영역에 고립된 변수를 선언할 수 있어서 외부로부터 오염을 방지한다.
const도 되도록이면 자주사용하자. 데이터 변경이 많이일어날 일이 적다고한다.
키워드 없는 변수는 가급적 사용하지말자. 예기치 않은 오류가 발생할수있다.
'취미' 카테고리의 다른 글
카카오톡 영구정지 해결방법 (1) | 2019.05.29 |
---|---|
구조체란 ? (10초 정리) (0) | 2019.04.14 |
뷰 공부시작한날 (2) | 2019.02.03 |
[드라마] 프리스트 9화 이후 추측글 (0) | 2018.12.23 |
오늘의 알바-부평문화의거리 서포터즈 (0) | 2018.12.14 |