JS 12 변수
변수 선언 방식
demo17.html
var
var는 변수 선언방식에 큰 단점이 있음
var name = "zz";
document.write(name);
var name = "tt";
document.write(name);
변수를 한번 더 선언(재선언)했는데 error 없이 두번 출력
-
간단한 테스트에는 편리 할 수 있지만 코드량이 많아지면
어디서 어떻게 사용되는지 파악이 힘들고 값이 바뀔 수 있음
그래서 ES6 이후 이를 보완해 let, const 라는 선언방식 추가
let, const
let name = "zz";
document.write(name);
let name = "tt";
document.write(name);
//Uncaught SyntaxError: Identifier 'name' has already been declared
name이 이미 선언되었다는 error 출력 (const도 같음)
변수 재선언이 불가능함
-
let은 재할당이 가능
let name = "zz"; console.log(name); // zz let name = "tt"; console.log(name); // Uncaught SyntaxError: Identifier 'name' has already been declared name = "react"; console.log(name); //react 재할당됨
-
const는 재선언, 재할당 모두 불가능
const name = "bathingape"; console.log(name); // bathingape const name = "javascript"; console.log(name); // Uncaught SyntaxError: Identifier 'name' has already been declared name = "react"; console.log(name); //Uncaught TypeError: Assignment to constant variable.
사용법
그리고 객체를 재할당하는 경우는 흔하지 않음
const를 사용하면 의도치않은 재할당을 방지해 줘서 안전함
변수 선언에는 기본적으로 const를 사용하고,
재할당이 필요한 경우에 한정해 let을 사용할 것