엘리스 SW 엔지니어 트랙/TIL
[엘리스 SW 엔지니어 트랙 2기 / TIL] Week 03 - 스코프, 실행 컨텍스트, 클로져, this
wookhyung
2022. 4. 28. 17:06
728x90

1. 오늘 공부한 내용 📝
- Scope : Global / Local
- 실행 컨텍스트(Execution Context)
- 실행 가능한 코드가 실행되기 위해 필요한 환경 (객체 형태)
- 변수, 함수, 스코프(scope), this
- 코드를 형상화하고 구분하는 추상적 개념
- 코드가 실행 시 생성되고, 완료되면 소멸
- 실행 가능한 코드가 실행되기 위해 필요한 환경 (객체 형태)
"Context": {
variableObject: {
arguments: null,
variable: [...],
},
scopeChain: ["해당 되는 스코프"],
this: "함수가 호출된 형태에 따라 할당"
}
- Lexical Scope : 함수 호출이 아닌 선언한 곳을 기준으로 스코프를 결정
- Scope Chain : 스코프의 레퍼런스가 차례로 저장된 리스트, 함수가 정의될 때를 기준으로 만들어짐
- 호이스팅(Hoisting) : 코드 실행 전(생성 단계), 변수/함수 선언(메모리 공간 확보)이 해당 스코프의 최상단으로 끌어올려진 것 같은 현상
var name = undefined;
function printName() {
name = undefined;
console.log(name);
name = "Bob";
console.log(name);
}
name = "John";
printName();
- this가 가리키는 것
- 클로저(Closure)
- 함수와 그 함수가 선언 됐을 때의 렉시컬(Lexical) 환경과의 조합
- 자신이 선언될 당시의 환경을 기억하는 함수
- map, forEach, filter, reduce
2. 어려웠던 내용 🤯
클로져, this....... 아직은 잘 이해가 안된다.
3. 궁금한 내용 / 부족했던 내용 🧐
4. 느낀 점 🤔
클로져, 스코프 체인, 실행 컨텍스트, this 이 키워드들에 대해선 다시 복습을 해봐야 될 것 같다. 실습 강의 코치님께서는 어려운게 당연한 내용이라고 하니까 천천히 학습해보자..