Day08 미션을 수행하면서 함수형 프로그래밍과 관련된 ‘클로저', ‘고차 함수', ‘순수 함수', ‘모나드’ 등 여러 개념들에 대해 더 알아보고 싶었다.
따라서 함수형 프로그래밍을 키워드로 선정하여, 관련 개념들에 대해 깊게 탐구해보기로 했다.
스코프(Scope) : 식별자(변수 이름, 함수 이름, 클래스 이름 등)가 유효한 범위
const x = 1;
function foo() {
const x = 10;
bar();
}
function bar() {
**console.log(x);**
}
foo(); // ?
bar(); // ?
위 예제의 실행 결과는 어떻게 될까?
두 가지 패턴을 예측해볼 수 있다.
bar
함수의 상위 스코프 = foo