실행 컨텍스트: 전역변수와 지역변수, this, scope 등 Javascript code가 실행되는 순간의 환경을 말함.
활성 객체: code 실행시 필요한 각종 정보를 담을 객체
클로저
내부 Private 변수를 사용할 수 있는 환경에 있는 함수
어떤 변수값을 은닉화, 캡슐화 하기 위해 사용하는 기술
var counter = () => {
var _cnt = 0;
return {
increment: () => {
_cnt += 1;
},
decrement: () => {
_cnt -= 1;
},
getValue: () => {
return _cnt;
}
}
}
var obj = counter();
외부에서 _cnt의 값을 변경할 방법이 없음, counter function이 할당된 obj는 할당 된 순간의 _cnt의 값 (0)을 기억하게 된다.
호이스팅
변수를 선언했을 때 선언부가 스코프 맨 위로 끌어올려지는 것을 개념적으로 표현하는 말
console.log(data); // undefined
func(); // hello world
function func() {
console.log('hello world');
}
var data = 10;
function func() {
console.log('hello world');
}
var data;
console.log(data); // 에러가 아닌 undefined
func(); // hello world
data = 10;
var 변수가 함수 스코프로 함수 최상단으로 올라가서 계산된다.
let과 const의 경우 블록스코프로 해당 블록 내 최상단으로 올라간다.
'Programming Language > Javascript' 카테고리의 다른 글
Promise (0) | 2022.07.31 |
---|---|
Javascript에서의 this (0) | 2022.07.19 |
http protocol (0) | 2016.01.22 |
JSON (0) | 2016.01.21 |
jquery (0) | 2016.01.20 |