13장: 스코프
1. 스코프란
2. 스코프의 종류 : 전역 스코프와 지역 스코프
3. 스코프 체인 : 체인에 의한 변수 / 함수 검색
4. 함수 레벨 스코프
5. 렉시컬 스코프(=정적/static 스코프) : 어디서 정의했는지에 따라 상위 스코프 결정
함수를 어디에 호출했는지는 상관없다. 함수가 정의(생성)되면서, 상위 스코프를 기억한다.(( 함수의 위치))
var x = 1;
function foo() {
var x = 10;
bar(); // bar()는 전역인 1 일까, 지역인 10일까.
//bar가 정의된 자리의 범위(스코프)를 기억중. --> 그래서, x 는 1
console.log(x);
}
function bar(){
console.log(x); // 전역인 1
}
foo();
bar();
14장: 전역 변수의 문제점
1.변수의 생명주기 : 지역 변수와 전역 변수
일반적으로 함수와 함수 내 지역변수의 생명주기는 일치하지만, 누군가 메모리 공간을 참조하고 있으면, 해제되지 않고 확보된 상태로 남아있는데, 스코프도, 누군가 스코프를 참조중이면, 소멸되지 않는다.
2. 전역 변수의 문제점
3. 전역 변수의 사용을 억제하는 방법
- 즉시 실행 함수
(function() {
var foo = 10;
}());
- 네임스페이스 객체 : 변수를 프로퍼티로 추가
var MYAPP = {}; // 전역 네임 스페이스 객체
MYAPP.name = 'Lee'; // 전역 변수처럼 사용하고 싶은 변수를 <<프로퍼티>>로 추가
console.log(MYAPP.name); // Lee
// 2. 계층 구성
MYAPP.person = {
name: 'Lee',
address: 'Seoul',
};
console.log(MYAPP.person.name);
- 모듈 패턴 : 클로저
- ES6 모듈 : ES6 모듈, Webpack, Babel -> ES.NEXT 개발환경 구축
15장: let, const 키워드와 블록 레벨 스코프
1. var 문제점
- 변수 중복 선언 허용
- 함수 레벨 스코프
- 변수 호이스팅
2. let
- 변수 중복 선언 금지
- 블록 레벨 스코프
- 변수 호이스팅
- 전역 객체와 let
3. const 키워드
- 선언과 초기화
- 재할당 금지
- 상수
- const 키워드와 객체
4. var vs. let vs. const
'자바스크립트 문법' 카테고리의 다른 글
25장 클래스 (10/7) (0) | 2022.09.30 |
---|---|
19 프로토타입 (0) | 2022.09.26 |
17 생성자 함수에 의한 객체 생성 (0) | 2022.09.26 |
16 프로퍼티 어트리뷰트 (조내 복잡타 ㅠ) (0) | 2022.09.18 |
10-11장 객체(프로퍼티, 메서드) ***기초 중요*** (0) | 2022.09.10 |
centos7 MySQL8 설치+DB생성+유저권한 (0) | 2022.08.23 |
큐냅: 도커 리눅스 : systemctl 명령어가 안먹힘 -> LXD (0) | 2022.08.22 |
centos7 nginx 설치 및 사용 (0) | 2022.08.22 |
댓글