본문 바로가기
Javascript

Javascript - 변수 선언자(var, let, const)

by DGK 2021. 9. 16.

 

인프런 자바스크립트 입문 수업을 듣고 중요한 내용을 정리했습니다.
개인 공부 후 자료를 남기기 위한 목적이므로 내용 상에 오류가 있을 수 있습니다.

 

변수 선언자 (var, let, const)

 

  • var 선언자
<!DOCTYPE html>
<html>
<head>
    <title>Document</title>
</head>
<body>
    <script>
    
        /*var 선언자*/
        
        var x = 5; //변수 x에 5를 저장
        var y = 6; //변수 y에 6을 저장
        var z = x + y; //변수 z에는 11이 저장
        
        console.log("x", x);
        console.log("y", y);
        console.log("z", z);

        var x = 7; //변수 x를 재선언
        z = x + y; //이미 선언된 변수(z)에 새로운 값을 할당됨
        
        console.log("x", x);
        console.log("z", z);

    </script>
</body>
</html>


<설명>
var은 동일한 변수로 재선언을 해도 에러가 발생하지 않는다. 만약 재선언을 하는 경우 먼저 선언된 변수는
동작하지 않고 새롭게 재선언된 변수가 대신 적용되므로 x는 5가 아닌 7이 된다.

 

 

  • let 선언자
<!DOCTYPE html>
<html>
<head>
    <title>Document</title>
</head>
<body>
    <script>
        
        /*let 선언자*/
        
        let x1 = 5; //변수 x1에 5를 저장
        let y1 = 6; //변수 y1에 6을 저장
        let z1 = x1 + y1; //변수 z1에는 11이 저장

        let x1 = 7; //(에러 발생)
        x1 = 7;     //(에러 발생X)

    </script>
</body>
</html>


<설명>
let은 동일한 변수로 재선언은 불가능 하지만, 이미 선언된 변수(x1)에 새로운 값을 할당할 수는 있다.

 

 

  • const 선언자
<!DOCTYPE html>
<html>
<head>
    <title>Document</title>
</head>
<body>
    <script>
        
        /*const 선언자*/
        
        const PI = 3.14;

        const PI = 2.12; //(에러 발생)
        PI = 2.12;       //(에러 발생)

    </script>
</body>
</html>


<설명>
const는 동일한 변수로 재선언도 불가능하고, 이미 선언된 변수(PI)에 새로운 값을 할당하는 것도 불가능하다.

 

 

  • 정리
1. 자바스크립트에서 변수를 선언하는 방법은 3가지이다. (var, let, const 사용)
2. 변수는 데이터를 담는 그릇이다. (물론 변수는 오브젝트나 함수도 담을 수 있음)
3. 자바스크립트는 데이터의 타입에 상관없이 동일한 변수 선언자를 사용할 수 있다.
    (자바, C언어는 변수에 담는 데이터 타입에 따라 변수를 선언하는 방식이 다름)
4. 원래는 var 변수 선언자만 사용했지만, 문제점을 보완하기 위해 let, const 변수 선언자가
     추가되었다.
5. var은 동일한 변수로 재선언도 가능하고, 이미 선언된 변수에 새로운 값을 재할당 할 수 있다.
     let은  동일한 변수로 재선언은 불가능하지만, 이미 선언된 변수에 새로운 값을 재할당 할 수 있다.
     const는 동일한 변수로 재선언도 불가능하고, 이미 선언된 변수에 새로운 값도 재할당 할 수 없다.
6. 결국 var, let, const 선언자 모두 상황에 따라 적절한 용도로 사용해야 한다.

 

 

댓글