Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- VSCode
- dbeaver
- nodejs
- Windows
- react
- nginx
- docker
- SAP
- tibero
- LOG4J
- Kubernetes
- gradle
- gson
- BPMN
- Git
- useEffect
- Linux
- NCP
- MySQL
- springboot
- log4j2
- mybatis
- maven
- database
- kubectl
- JavaScript
- Java
- IntelliJ
- JPA
- Spring
Archives
- Today
- Total
두 손끝의 창조자
javascript는 렉시컬 스코프를 가진 언어이다. 본문
반응형
자바스크립트 엔진은 함수를 어디서 호출했는지가 아니라 함수를 어디에 정의했는지에 따라 상위 스코프를 결정한다. 이를 렉시컬 스코프(정적 스코프)라 한다.
따라서 아래 코드의 실행결과는 두 함수 모두 1을 반환한다.
const x = 1;
function foo(){
const x = 10;
bar();
}
function bar(){
console.log(x);
}
foo();
bar();파이썬에도 비슷하게 동작한다.
x = 1
def foo():
x = 10
bar()
def bar():
print(x)
foo()
bar()
상위 스코프에 대한 참조는 함수 정의가 평가되는 시점에 함수가 정의된 환경(위치)에 의해 결정된다.=> 렉시컬 스코프
반응형
Comments