[자바스크립트] let const var

강지훈·2022년 11월 8일
0

자바스크립트

목록 보기
2/12

변수

자바스크립트에서는 데이터를 참조(불러오기) 하기 위하여,
변수에 값이나 함수를 할당(변수에 값을 연결) 하고,
그 변수의 이름을 저장하는 것을 선언 이라고 한다.

<예시>
var name 			// 선언
name = "Kang" 		// 할당
var name = "Kang"	// 선언+할당

변수 선언

이 변수를 선언하는 방법에는 var let const 3 가지가 있다.
무려 let const 는 ES6(2015년)에 추가된 문법이다.
그 이전에는 어떻게 살았을 지 상상이 안간다.


var let const 차이점

그래서 var let const 무엇이 다르냐?

1. var

var 은 같은 변수중복 선언이 가능하다.
당연히 재할당도 가능하다.

var name = "Kang"  				// 변수 name 에 "kang"을 할당하는 선언
var name = "Kim"				// 변수 name 에 "kim"을 재할당하는 선언

이러고나서 콘솔을 찍으면...

console.log(name)  				// "Kim"

늦게 선언한 "Kim"이 할당되어 있는 것을 알 수 있다.

var은 왜 문제가 될까?

코드가 짧으면 자기가 선언한 변수를 다 기억할 수 있으니 문제가 되지 않으나,

코드가 길어져서 1000줄씩 되고,
팀 프로젝트를 진행할 경우 다른 사람이 같은 변수에 재할당하여
기존 값이나 함수가 없어질 우려가 있다.
이에 실무에서는 let 이나 const 의 사용을 권장한다고 한다.

2. let

var 의 문제점을 보완하기 위해 ES6에서 letconst 가 추가 되었다.
let 은 중복선언이 불가하며, 재할당은 가능하다.

<중복선언 불가>
let name = "Kang"				// 	변수 name에 "Kang" 선언
let name = "Kim" 				// Error!! name은 이미 선언됨!!

<재할당은 가능>
let name = "Kang"				// 변수 name에 "Kang" 선언
name = "Kim"					// 변수 name에 "Kim" 재할당

3. const

constlet 에서 재할당까지 불가능하게 선언하는 방식이다.

<중복선언 불가>
const name = "Kang"				// 변수 name에 "Kang" 선언
const name = "Kim"				// Error!! name은 이미 선언됨!!

<재할당 불가>
let name = "Kang"				// 변수 name에 "Kang" 선언
name = "Kim"					// Error!! 재할당 불가!!

정리

var 은 긴 코드나, 협업 과정에서 문제가 될 여지가 있으니,
재할당이 필요할 경우에 let
재할당이 필요 없는 상수(constant)에는 const 를 사용하도록 하자.

profile
우당탕탕 개발자

0개의 댓글