본문 바로가기

JavaScript

2. 변수(var, let)

변수
  • 데이터를 저장할 수 있는 메모리 공간
  • 값이 변경될 수 있음
  • 자바스크립트의 변수는 타입이 없음
  • let 키워드를 사용하여 변수를 선언

✔ 자바스크립트의 변수는 타입이 고정되어 있지 않으며 같은 변수에 다른 타입의 값을 대입할 수 있음

let user = {userid : "apple", name : "김사과", age : 20};
user = "김사과";
var
  • 유연한 변수 선언 방식
  • 지역변수, 전역변수와의 구별이 없음
  • 같은 이름의 변수를 선언할 수 있음
// 첫번째방법
var 변수명 = 값;

// 두번째 방법
var 변수명;
변수명 = 값;

✅ 지역변수와 전역변수의 구별이 없어 모호함

    var num = 10;
    {
        console.log(num);   // 전역변수 num = 10
        var num = 20;       // 지역변수 num = 20
    }
    console.log(num);	    // num = 20 ???

 

let
  • 지역변수, 전역변수의 구별이 확실
  • 같은 이름의 변수를 선언할 수 없음
// 첫번째 방법
let 변수명 = 값;

// 두번째 방법
let 변수명 = 값;
변수명 = 값;

 

예제
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>변수</title>
</head>
<body>
    <h2>변수</h2>
    <script>
        var num;
        num = 10;
        console.log(num); // 10

        str = "안녕";
        console.log(str) // 안녕

        var str = "반가워";
        console.log(str); // 반가워

        {
            console.log(num); // 10
            var num = 30; // 30
            console.log(num); // 30
        }

        console.log(num); // 지역변수와 전역변수의 구분이 없으므로 30출력

        console.log("-----------------------")

        let val = 10;
        console.log(val); //10
        
        // let val = 20; let은 같은 이름의 변수를 선언할 수 없음! 에러!
        {
            console.log(val); // 10
            // let val = 30; let은 같은 이름의 변수를 선언할 수 없음! 에러!
        }
        console.log(val); //10

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

'JavaScript' 카테고리의 다른 글

5. 타입 변환  (0) 2023.04.05
4. 데이터 타입(Data Type)  (0) 2023.04.05
3. 상수(constant)  (0) 2023.04.05
1. 출력(console.log)  (0) 2023.04.05
0. JavaScript  (0) 2023.04.04