자바스크립트 변수선언 const / let / var

2022. 5. 25. 17:13·JavaScript
반응형
const myString = '안녕하세요';
console.log(myString);

let myName = "JavaScript";
console.log(myName);

또 예제를 보다가..

왜 위에는 const고 아래는 let일까 같은 문자열인데!

 

책을 보니 또 거기서는 변수선언을 var로 하고있다!!!

그래서 검색을 해서 알아내보았다~

 

var

var(variable)는 이미 선언된 변수를 다시 선언할 수 있다.

var d = 1;	// 변수 d 선언, 값 1 할당
var d = 2;	// d 재선언, 2 할당
d = 3;		// d에 3 재할당

이미 변수로 쓰이고 있는 식별자를 또 다시 변수 이름으로 선언이 가능하다면 문제가 생길 수 있기 때문에

ES6부터는 let과 const가 등장했다고 한다. 

내가 본 책은(코어 자바스크립트) ES5이하 이론 기준으로 ES6에서도 필요한 내용을 자바스크립트 !원리 이해! 목적으로 설명한 책이기 때문에 변수 선언시 전부 var를 사용하고 있는 것이었다!

 

let

let으로 선언한 변수는 재선언이 불가능하다. 재할당만 가능하다.

let a = 5;	// 변수 선언과 데이터 할당
let b;		//변수 선언

a="He";		// 변수값 재할당
b="llo";	//변수값 할당

console.log(a+b);

변수 선언과 값 할당을 동시에 할 수 있고,

선언만 하고 값 할당은 나중에 할 수도 있다.

이미 값이 할당된 변수의 값을 다른값으로 재할당도 가능하다.

 

하지만 아래처럼 이미 변수선언된 식별자로 재선언을 하게되면 에러가 난다.

let a = 5;	// 변수 선언과 데이터 할당
let b;		//변수 선언

a="He";		// 변수값 재할당
let b="llo";	//변수 재선언, 값할당

console.log(a+b);

구문에러: 식별자 'b'는 이미 선언되었습니다

 

const

const는 이름에 힌트가 있다.

상수(constant, 변하지 않는 값)를 선언할 때 사용한다. 

그래서 재선언, 재할당도 불가능하고, 처음 선언할 때 초기값을 할당해줘야 한다.

const test;	// const 선언만 하고 값을 할당하지 않았을 때

초기값이 없다며 에러가 난다

const test = 1;	// const 선언은 이렇게 초기값 할당을 함께 해야 한다

 

결론

변수선언시에는 let을

상수선언시에는 const를 사용하자

 

 

 

+ 공부를 더 하다보니 단순 재선언 재할당만 다른게 아닌걸 알게됐다

변수스코프라는 개념이 있는데 아래링크참고..시간나면 글에 추가해야겠다!

https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Grammar_and_types#변수_스코프

 

문법과 자료형 - JavaScript | MDN

이 장은 JavaScript의 기본 문법과 변수 선언, 자료형 및 리터럴을 다룹니다.

developer.mozilla.org

 

반응형
저작자표시 비영리 변경금지 (새창열림)

'JavaScript' 카테고리의 다른 글

자바스크립트 | 속성 접근자 .(dot notation), [](bracket notation)  (0) 2022.06.18
자바스크립트 문자열 합치기 + 자동 형변환, 명시적 형변환  (0) 2022.05.30
자바스크립트 NaN  (0) 2022.05.27
자바스크립트 null / undefined  (0) 2022.05.26
자바스크립트 세미콜론(;)  (0) 2022.05.25
'JavaScript' 카테고리의 다른 글
  • 자바스크립트 문자열 합치기 + 자동 형변환, 명시적 형변환
  • 자바스크립트 NaN
  • 자바스크립트 null / undefined
  • 자바스크립트 세미콜론(;)
이라후
이라후
  • 이라후
    화이팅
    이라후
  • 전체
    오늘
    어제
    • 분류 전체보기 (133)
      • TIL (23)
      • 기타 (26)
      • Python (14)
      • Django (10)
      • JavaScript (8)
      • git & GitHub (8)
      • Web (10)
      • Go (3)
      • wecode (31)
  • 반응형
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
이라후
자바스크립트 변수선언 const / let / var
상단으로

티스토리툴바