-
Var vs let vs Const프론트엔드/JavaScript 2020. 9. 9. 15:39
자바스크립트에선 변수를 선언할 땐 'Var', 'let', 'Const' 이 세가지를 이용하게 된다.
하지만 이 셋은 비슷해보이지만 약간의 차이가 있다.
우선 'Var', 'let'은 'Const'와는 조금 많은 차이가 있고 'Var'와 'let'은 약간의 차이가 있다.
1. Var (변수 재선언 가능, 재할당 가능)
'Varibale'의 약자로 메모리상에서 읽고 쓰기가 가능하다.
자바스크립트에서 변수를 나타내는 Var는 C언어, 자바와 달리 엄격하지 않다.
'Var'에는 다양한 자료가 들어갈 수 있고 중복 선언을 하더라도 큰 문제가 없다.
<body> <script> let log = console.log; var name = "영희"; console.log(name); // 영희 출력 var name = "철수"; console.log(name); // 철수 출력 </script> </body>
하지만 이러한 성격 덕분에 코드가 길어지는 등의 상황에선 변수가 중복 재선언 되는 등의 문제가 발생했다.
이에 새로 생긴 것이 바로 let이다.
2. let (변수 재선언 불가, 재할당 가능)
'let'은 'var'와 달리 변수의 재선언이 불가하고 데이터의 재할당은 가능하다.
'let'은 재선언 할 경우 아래와 같이 오류가 뜬다.
<body> <script> let job = "student"; console.log(job); // student 출력 let job = "police"; console.log(job); // Uncaught SyntaxError: Identifier 'job' has already been declared 오류출력 </script> </body>
하지만 재할당은 가능하다. 아래와 같이 선언 없이 값만 할당하는 것은 가능해졌다.
<body> <script> let job = "student"; console.log(job); // student 출력 job = "police"; console.log(job); // police 출력 </script> </body>
'let'을 사용할 경우 'var'에 비해 훨씬 안정적인 코드 작성이 가능하다.
3. const(재선언 불가, 재할당 불가)
Constatconstant의 약자로 상수를 의미한다.
'const'를 쓰면 같은 코드 내에선 재선언, 재할당이 불가하다.
아래와 같이 재선언, 재할당할 경우 오류가 난다.
그래서 const에는 코드 내에서 변하지 않을 데이터를 넣어주는 것이 좋다.
<body> <script> const me = "영희"; console.log(me); // 영희 출력 const me = "철수"; // Uncaught SyntaxError: Identifier 'me' has already been declared me = "영수"; // Uncaught SyntaxError: Identifier 'me' has already been declared </script> </body>
'프론트엔드 > JavaScript' 카테고리의 다른 글
for...of / for...in 에 대해서 (0) 2020.09.09 자료형 변환(type conversion) (0) 2020.09.09 자바 스크립트의 데이터 타입 (0) 2020.09.05 자바 스크립트 적용하기 (0) 2020.09.05 자바스크립트(Java Script)란? (0) 2020.08.25