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
- vue.js
- utilty type
- 공통컴포넌트
- TSDoc
- javascript
- JS console
- React Native
- click and drag
- NonNullable
- 타입좁히기
- 반복줄이기
- 누구나 자료구조와 알고리즘
- 리액트
- reactjs
- 성능최적화
- typescript
- react
- const 단언문
- 티스토리꾸미기
- CSS
- 폰트적용하기
- 2022
- 제네릭
- returnType
- Chart.js
- 레이아웃쪼개기
- 타입스크립트
- 커스텀
- React.js
- 개발콘텐츠
Archives
- Today
- Total
몽땅뚝딱 개발자
[Javascript] 스코프(Scope) 본문
출처
🚀 스코프(Scope)
◽ 스코프의 목적
- scope란? 범위, 영역이라는 뜻
- 범위를 제한하여, 스코프에서 식별자를 해결하려는 것이다.
◽ 식별자 해결(Identifier Resolution)
변수 이름, 함수 이름을 찾아 값을 구하는 것이 식별자 해결의 궁극적인 목적이다.
스코프는 식별자 해결을 위해 사용한다.
예를 들어 한국에서 '김철수'를 찾을 경우 동명이인이 굉장히 많을 것이다.
이럴 때 지역 이름으로, 구 단위로 좁혀나가 찾으면 찾기가 쉽다.
◽ 스코프의 설정과 종류
엔진이 function을 만나면 FO를 생성하고 스코프를 설정한다.
설정한 FO의 내부 프로퍼티인 [[Scope]]에 스코프를 설정한다.
FO를 만드는 시점에 스코프가 결정되는 것을 '정적 스코프'라고 한다.
정적 스코프는 FO를 생성할 때 한번만 생성된다.
반면, 함수를 호출할 때 스코프를 결정하는 것을 '동적 스코프'라고 한다.
동적 스코프에서는 10,000번을 호출하게 되면 스코프도 동일한 횟수대로 만들게 된다.
그래서 정적 스코프가 더 효율적이라고 볼 수 있다.
이것이 자바 스크립트의 스코프 설정 메커니즘이다.
function book() {
var point = 123;
// get()의 범위는 book()안의 모든 곳이다.
// 그래서 get()의 스코프에 있는 point 변수를 쉽게 찾을 수 있다.
function get() {
console.log(point);
};
get();
}
book();
'Development > Javascript' 카테고리의 다른 글
[Javascript/ES6+] 변수의 구분 (0) | 2021.07.07 |
---|---|
[Javascript] 호이스팅(Hoisting) (0) | 2021.07.07 |
[Javascript] Argument 처리 (0) | 2021.07.07 |
[Javascript] 오버로딩(Overloading) (0) | 2021.07.07 |
[Javascript/ES6+] Arrow Function (0) | 2021.07.07 |
Comments