티스토리 뷰
동적 스코프(dynamic scope)
-함수가 호출되는 시점에 동적으로 상위 스코프를 결정
렉시컬 스코프(lexical scope,static scope, 정적스코프)
-함수가 어디에서 정의(선언)했는지에 따라 상위 스코프를 결정
- 대부분 프로그래밍 언어는 렉시컬 스코프에 따른다. (자바스크립트도 포함)
- 함수의 상위 스코프는 자신이 정의된 스코프
var x = 1;
function foo() {
var x = 10;
bar();
}
function bar() {
console.log(x);
}
foo();
bar();
위의 예제를 통해서 알아보자
foo(), bar() 함수를 호출시 어떤 값이 나올까?
foo 함수와 bar 함수는 전역에서 정의 된 함수이다.
bar는 전역에서 정의 된 함수이며, 자신의 정의된 스코프인 전역 스코프를 상위 스코프로 기억(사용)한다.
고로 bar는 1을 출력한다. foo()도 1을 출력한다
오늘 느낀 점
key point
자바스크립트는 렉시컬 스코프를 따른다
함수는 자신의 정의된 스코프를 기억(상위 스코프를 따른다)⭐⭐⭐⭐⭐
'JavaScript' 카테고리의 다른 글
| 전역 변수의 문제점 (0) | 2023.01.10 |
|---|---|
| 변수의 생명 주기 (0) | 2023.01.03 |
| 함수 레벨 스코프 (0) | 2023.01.02 |
| 스코프 체인 (0) | 2023.01.02 |
| 스코프의 종류 (0) | 2023.01.01 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 리액트
- vim 편집기
- til
- 내일배움카드
- MegabyteShool
- 북스터디
- 컴포넌트
- Git
- JSX
- javascript
- Root_Component
- GitHub
- 국비지원교육
- 개발자취업부트캠프
- 국비지원
- 스코프
- component
- 개발자치업부트캠프
- shell command
- 패스트캠퍼스
- git flow
- CSS
- export
- 가상클래스
- html
- react
- MegabyteSchool
- 그룹스터디
- 그룹스터디_북스터디
- 메가바이트스쿨
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
글 보관함