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);
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 |