728x90

 

안녕하세요 오늘은 자바스크립트 변수 선언을 할 때 사용되는 키워드를 알아보도록 하겠습니다.
먼저 설명드리기 전에 

간단하게 전역변수 지역변수를 설명드리자면,

각각 범위를 뜻하는 것으로,

전역 변수는 해당 코드 내에서 어느 곳에서든 사용을 할 수 있는 변수입니다.

그리고 지역변수는 그 범위 내에서만 사용할 수 있는 것이지요.

예를 들어 지역변수는 클래스나 함수 내에서만 사용할 수 있는 것으로 생각하시면

될 것 같습니다.

더욱 예를 들자면

지역 변수는 임의로 만든 함수 function test(){

이 안에서만 사용할 수 있는 변수

}

 

라고 보시면 될 것입니다.

 

 

 

var

 

자 그럼 다시 var let const 차이점을 알아보자면

먼저 ES6 이전에는 변수를 선언할 수 있는 키워드는 var 뿐이었습니다.

var 같은 전역변수처럼 사용되며, 어느 곳에서든 똑같은 이름으로

var 변수명 이렇게 해서 사용해도 오류가 뜨지 않습니다.

때문에 빈번하게 사용할 경우 수정할 때 일일이 바꿔주어야 한다는 문제점이 있습니다.

또한 var같은 경우 처음에 선언할 때 초기값을 주지 않아도 된다는 점도 있습니다.

또한 기본적으로 var로 되어있어서 var 변수명으로 선언하지 않아도 에러가 나지 않는 점도 있습니다.

예를 들어 나는 변수를 선언할 때 키워드를 붙이지 않았는데도 오류가 뜨지 않는다 싶다면 이미 기본적으로

var 키워드가 붙어 있는데 생략이 된 것으로 보는 것으로 에러가 뜨지 않는 경우가 있습니다.

var로 선언할 경우 초기값이 없을 경우는 자동으로 undefined를 초기값으로 하여 메모리에 할당합니다.

 

 

 

let const

 

이 외에 ES6버전 이후부턴 let과 const키워드가 추가되어 이용할 수 있게 되었습니다.

let과 const 키워드는 우리가 자바스크립트 외에 다른 언어에서 볼 수 있듯이 처음에 let이나 const로 사용한 후엔

다시 같은 변수명으로 let과 const를 이용하게 되면 오류가 발생하게 됩니다.

 

let 같은 경우 var과 같이 초기값을 선언해주지 않아도 되지만 const는 반드시 초기값을 설정해주어야 하고

const는 한번 할당한 값은 변경할 수 없습니다.

 

그리고 let과 const는 var과는 다르게 자동으로 초기값을 할당하지는 않습니다.

 

 

 

그렇다면 어떤 것을 사용하는 게 좋을까요?

저 역시 아직 공부하는 입장이라 부족한 상태이지만 알아본 결과

var 같은 경우 버그가 발생할 수도 있고 메모리 누수 위험 그리고 코드가 길어질 경우 예상치 못한 위치에 

같은 변수명 때문에 문제가 발생할 수도 있습니다.

때문에 let이나 const를 사용함으로써 그 문제를 예방할 수 있다고 합니다.

 

 

 

그리고 혹시라도 코딩 테스트를 준비하시는 분들이 있다면

키워드 세 가지를 동시에 사용하면 감점 요인이 있다고 들었습니다.

그러니 세 키워드 모두 사용하는 것은 피하는 게 좋을 것 같습니다.

 

 

728x90

+ Recent posts