본문 바로가기
Programming Languages/JavaScript

[JavaScript] var, let, const

by 더 이프 2023. 11. 2.
728x90

목차

    JavaScript의 변수 선언: var, let, const 차이점 파악하기 🚀

    안녕하세요! 오늘은 JavaScript에서 변수를 선언하는 세 가지 방법, var, let, const에 대해 알아보겠습니다. 이 세 가지 키워드는 각각 다른 특징과 사용법을 가지고 있으며, 이를 제대로 이해하는 것이 중요합니다. 그럼 지금부터 함께 살펴보겠습니다!

    1. 🌀 var: 오래된 변수 선언 방식

    • 특징: JavaScript의 초기 버전부터 존재하는 변수 선언 방식입니다.
    • 범위(Scope): 함수 범위(function-scoped)입니다. 함수 내에서 선언된 var 변수는 함수 내부에서만 접근 가능합니다.
    • 호이스팅(Hoisting): 변수 선언이 함수의 최상단으로 끌어올려지는 현상입니다. 초기화는 끌어올려지지 않습니다.
    console.log(x); // 출력: undefined
    var x = 5;
    console.log(x); // 출력: 5

     

    2. 🌈 let: 블록 범위 변수 선언

    • 특징: ES6(ES2015)에서 도입된 새로운 변수 선언 방식입니다.
    • 범위(Scope): 블록 범위(block-scoped)입니다. 블록(중괄호 {}) 내에서 선언된 let 변수는 해당 블록 내부에서만 접근 가능합니다.
    • 호이스팅: 호이스팅은 일어나지만, 초기화 전에 접근하려 하면 ReferenceError가 발생합니다.
    // console.log(y); // ReferenceError: y is not defined
    let y = 5;
    console.log(y); // 출력: 5

     

    3. 🚀 const: 상수 선언

    • 특징: const도 ES6에서 도입되었으며, let과 유사한 특징을 가집니다.
    • 범위(Scope): 블록 범위(block-scoped)입니다.
    • 상수(Constant): 한 번 값을 할당하면 변경할 수 없습니다. 반드시 선언 시 초기화가 필요합니다.
    • 주의점: 객체나 배열을 const로 선언한 경우, 객체나 배열 자체는 변경할 수 없지만 내부 속성이나 요소는 변경할 수 있습니다.
    const z = 10;
    // z = 15; // TypeError: Assignment to constant variable.
    
    const obj = { key: "value" };
    obj.key = "newValue"; // 가능
    // obj = {}; // TypeError: Assignment to constant variable.

     

    🌟 마치며...

    var, let, const는 JavaScript에서 변수를 선언하는 방법으로, 각각의 특징과 적절한 사용법을 이해하는 것이 중요합니다. 현대의 JavaScript 코드 작성 시 var보다는 letconst를 사용하는 것이 좋습니다. 코드의 명확성과 유지보수성을 높일 수 있기 때문입니다.


    💻 Happy Coding! 💻


    Reference:

     

    var - JavaScript | MDN

    The var statement declares function-scoped or globally-scoped variables, optionally initializing each to a value.

    developer.mozilla.org

     

    let - JavaScript | MDN

    The let declaration declares re-assignable, block-scoped local variables, optionally initializing each to a value.

    developer.mozilla.org

     

    const - JavaScript | MDN

    The const declaration declares block-scoped local variables. The value of a constant can't be changed through reassignment using the assignment operator, but if a constant is an object, its properties can be added, updated, or removed.

    developer.mozilla.org