일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 다익스트라
- Hash
- two pointer
- 스토어드 프로시저
- DP
- MYSQL
- String
- Two Points
- union find
- 이진탐색
- Dijkstra
- Brute Force
- Stored Procedure
- SQL
- Trie
- binary search
- 그래프
Archives
- Today
- Total
codingfarm
변수의 생명주기 본문
1. 지역변수의 생명 주기
- 생명주기(life cycle) : 변수의 메모리가 확보(allocate)된 시점부터 해제(release)되어 가용 메모리 풀(memory pool)에 반환되는 시점
- 변수는 자신이 선언된 scope 내에서 생성되고 소멸된다.
- 전역변수의 생명 주기 = 애플리케이션의 생명주기
- 지역변수의 생명 주기 = 함수의 생명 주기
- 호이스팅은 스코프를 단위로 작동한다.
1
2
3
4
5
6
7
8
9
|
kjjvar x = 'global';
function foo() {
console.log(x); // undefined
var x = 'local';
}
foo();
console.log(x); // global
|
cs |
2. 전역 변수의 생명 주기
- 전역 코드는 코드가 로드되자마자 곧바로 해석되고 실행되고, 마지막 문이 실행되면 종료된다.
- var 키워드로 선언한 전역변수는 전역 객체의 프로퍼티가 된다.
- 전역 변수의 생명 주기는 전역 객체의 생명 주기와 일치한다.
전역 객체(global object)
- 코드가 실행되기 이전 단계에 자바스크립트 엔진에 의해 어떤 객체보다도 먼저 생성되는 특수 객체
- 브라우저 : window
- node.js : global
- 환경에 따라 객체를 가리키는 다양한 식별자(window, self, this, frames, global)이 존재했으나 ES11(ECMAScript 11)에서 globalThis로 통일되었다.
- 표준 빌트인 객체(Object, String, Number, Function, Array...)와 환경에 따른 호스트 객체(클라이언트 Web API 또는 Node.js의 호스트 API), 그리고 var 키워드로 선언한 전역 변수와 전역 함수를 프로퍼티로 갖는다.
'Programming Language > JavaScript' 카테고리의 다른 글
프로퍼티 어트리뷰트 (0) | 2021.03.08 |
---|---|
전역 변수의 문제점 (0) | 2021.03.08 |
스코프(scope) (0) | 2021.03.07 |
var와 let, const (0) | 2021.03.07 |
함수 (0) | 2021.03.04 |
Comments