Dev-dotoli TIL

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을 사용할 것