2024/12/18 2

[모딥다] JS (5) - var , let ,const 키워드와 블록 레벨 스코프

1. var 변수 문제점1) 변수 중복 선언 허용2) 함수 레벨 스코프 : var 키워드로 선언한 변수는 오로지 함수의 코드 블록만을 지역 스코프로 인정함.: 따라서 함수 외부에서 var로 선언한 변수는 코드 블록 내 선언해도 모두 전역 변수가 됨.3) 변수 호이스팅: 변수 선언문이 스코프의 선두로 끌어 올려진 것처럼 동작함 2. let 키워드: 변수 중복 선언 금지: 블록 레벨 스코프 - 모든 코드 블록을 지역 스코프로 인정하는 블록 레벨 스코프를 따름: 변수 호이스팅 발생 X: var 키워드와 달리  "선언 단계" 와 "초기화 단계"가 분리되어 진행 된다.: 따라서 초기화 단계 실행되기 이전에 변수에 접근하려고 하면 참조 에러가 발생함: 스코프의 시작 지점부터 초기화 시작 지점까지 변수를 참조할 수 ..

[모딥다] JS (4) - 전역 변수의 문제점

1. 변수의 생명 주기1) 지역 변수의 생명 주기: 변수는 선언에 의해 생성되고 할당을 통해 값을 갖음. 그리고 소멸하는데 이러한 것을 생명 주기라고 함.: 만약 생명주기가 없다면 종료하지 않는 한 영원히 메모리 공간을 점유하게 된다.: 변수 선언은 선언문이 어디에 있든 상관 없이 가장 먼저 실행됨, 즉 한 줄 씩 순차적으로 실행되는 런타임 시점이 아닌 시작 전 자바스크립트 엔진에 의해 먼저 실행된다. => 전역 변수에 한정된 설명: 지역 변수는 함수 몸체의 다른 문들이 순차적으로 실행 되기 이전에 자바스크립트 엔진에 의해 변수가 선언되고 undefined로 초기화 된다. 그 후 함수 몸체의 다른 문들이 순차적으로 실행 될 때 값의 할당이 이루어진다. :  즉, 지역 변수의 생명 주기는 함수의 생명 주기..