본문 바로가기

JavaScript & jQuery

<javascript,jquery>변수와 상수 (var,let,const)

반응형

자바스크립트에서 값을 선언할 떄는 크게 2가지 종류가 있다.

1. 변수 

2. 상수

 

 

변수는 말그대로 값이 변할 수 있는 것을 말한다.

 

let a = 1;
console.log(a);

a = 2;

let b = 'devilcute';

console.log(a);

 

위의 코드처럼 let 이라는 키워드를 이용해서 변수를 설정해 줄 수 있고 첫번쨰 a값과 두번쨰 a의 값이 다른 것을 보면 값이 바뀐 것을 확인 할수 있다.

 

하지만 동일한 이름으로 선언해주지는 못하는데 

 

let a = 1;

let a = 3;

이런 식으로 해주게 되면 a라는 변수가 이미존재하기 때문에 에러가 난다.

 

변수가 변하는 값을 넣을 수 있는 것이면 상수는 "변하지 않는 값"이다.

java를 조금 다뤄보신 분들은 상수라는 단어를 들으면 final static ~~이 떠오르실텐데 비슷한 개념입니다.

 

const a = 1;

a=2;

라는 코드를 작성하게 되면 'const'라는 키워드를 사용해서 값을 담아주게 되면 상수로 넣어주겠다는 것인데 한번 선언해주면 그 값은 변하지 않는다. 나중에 코드량이 많아지고 복잡도가 높은 프로젝트를 구상 할 떄 절대 바뀌어서는 안되는 값들을 선언해주면 에러도 줄이고 훨씬 편하겠졍??><

 

변수하면 다들 질문을 가질 법 한게 'var'는 그럼 뭐에요인데 ex6에서 변수를 선언하는 방법으로 'let'이 추가된 것이다. 즉 그전까지는 var를 쓴 것인데 전 var 쓸래용 하고 쓸 수가 있다. 물론 간단하게 예제용 코드에선 문제가 될 게 없다. 간단하게 문제라고 보면 문제라고 볼 수있는게 

a=1;

var a;

코드와

b=1;

let b

코드를 작성해보면 .선언해주기도 전에 값을 담아주었는데 에러가 안나는 것을 볼 수 있을 것이다. 

 

var a= 2;

console.log(a); // 2

var a = 4;

console.log(a); // 4

 

위코드를 보고 유연한 변수 선언으로 간단한 테스트에는 편리 할 수 있겠으나, 코드량이 많아 진다면 어디에서 어떻게 사용 될지도 파악하기 힘들뿐더러 값이 바뀔 우려가 있다는 것을 느껴야 된다. 

 

****값읋 담아줄 떄는 "변수"와 "상수" 크게 두가지 방법이 있고 변수는 "let" "var", 상수는 "const"라는 키워드를 이용하되 되도록 앞으로 "let"을 쓰자 끝!****              

 

 

 

반응형