JAVASCRIPT

let과 const

컴맹숙 2022. 12. 8. 20:00

1. let

① let은 블록 영역의 스코프

==> 변수를 선언한 블록 {} 으로 묶은 부분에서만 유효하다.

<script>
        function calcSum(n) { //블록 변수 sum 적용 범위 시작
            let sum = 0;
            for(let i=0; i < n + 1; i++){ //블록 변수 i 적용 범위 시작
                sum += i;
            } //i 적용 범위 끝
            console.log(sum);
        } //sum 적용 범위 끝
        calcSum(10);
    </script>

sum은 함수 calcSum()의 블록 내에서만 사용 가능 

i는 for문의 블록 내에서만 사용 가능

 

※ 전역변수로 선언하려면 let을 쓰지 않고 변수명과 초기값만 할당

<script>
        function calcSum(n) {
            sum = 0; //전역 변수 sum
            for (let i = 1; i< n+1; i++){ //블록 변수 i
                sum += i;
            }
        }
        calcSum(10);
        console.log(sum);
    </script>

 

② 재할당 가능

<script>
        function calcSum(n) {
            let sum = 0; //블록변수 sum
            for(let i = 0; i < n+1; i++){ //블록변수 i
                sum += i;
            }
            sum = 100; //재할당
            console.log(sum);
        }
        calcSum(10);
    </script>

재할당 가능

 

③ 재선언 불가능

<script>
        function calcSum(n) {
            let sum = 0; //블록변수 sum
            for (let i = 0; i < n + 1; i++){ //블록변수 i
                sum += i;
            }
            let sum; //재선언
            console.log(sum);
        }
        calcSum(10);
    </script>

재선언 불가능

 

 

 

2. const

① 상수 변수 선언 시 사용

==> 프로그램 내에서 변하지 않는 값

let과 마찬가지로 블록 영역의 스코프를 가진다.

const currentYear = 2022; //예시

 

② 재선언, 재할당 불가능

<script>
        const currentYear = 2022;
        console.log(currentYear);
        const currentYear; //재선언 불가
    </script>

재선언 불가능

<script>
            const currentYear = 2022;
            console.log(currentYear);
            currentYear = 2023; //재할당 불가
            console.log(currentYear);
        </script>

재할당 불가능

 

 

 

 

 

 

더보기

Do it! HTML+CSS+자바스크립트 웹 표준의 정석 교재를 참고하여 작성했다.

'JAVASCRIPT' 카테고리의 다른 글

함수 표현식  (0) 2023.01.21
매개변수가 있는 함수  (0) 2023.01.18
함수와 var  (0) 2022.12.05
중첩 while문으로 구구단 만들기  (0) 2022.11.26
반복문 (자리 배치도 2)  (0) 2022.11.26