devlog

[Javascript]자바스크립트 기초-변수와 상수(var,let,const) 본문

JavaScript

[Javascript]자바스크립트 기초-변수와 상수(var,let,const)

bellaah 2019. 7. 16. 18:23

Javascript의 변수 선언 방식인 var와 let 그리고 const는 어떤 차이점에 대해 알아보자.

 

1.var

ES6(ECMAScript6) 이전에 나온 변수 선언 방식입니다.

var와 let의 차이점으로는 scope이 있습니다.

var는 function 단위의 scope을 가집니다.

var str="hello";
if(true){
	var str2="world";
}

console.log(str2);		//world

위의 코드는 if문 안에서 str2를 선언했지만 if문 밖에서도 변수가 유효한 것을 알 수 있습니다.

또한 같은 이름의 변수를 여러 번 선언하여도 오류가 나지 않습니다.

var str="hello";
var str="world";
console.log(str);	//world

위와 같이 같은 이름의 변수를 두 번 선언하여도 오류가 나지 않고 값이 바뀌기만 합니다.

 

2.let

ES6(ECMAScript6)에서 추가된 변수 선언 방식입니다.

let은 {}(block) 단위의 scope을 가집니다.

let str='hello';  
{
  let str='world';  
  console.log(str); //world
}
console.log(str); //hello

let을 사용한다면 위와 같은 결과를 얻을 수 있습니다.

또한 var와 다르게 같은 변수명을 갖는 변수는 두 번 선언하게 되면 오류가 발생하므로 변수의 값을 바꿔주는 식으로 사용하여야 합니다.

 

3.const

const는 상수를 선언할 때 사용합니다.

상수는 한번 선언하면 바꿀 수 없습니다.

const str="hello";
str="world";	//error 

위와 같이 상수로 선언한 str의 값을 바꾸려고 하면 error가 납니다.

또한 const의 scope은 {}(block)입니다.

Comments