티스토리 뷰
스코프
-식별자가 유효한 범위 .
=> 모든 식별자(변수 이름, 함수 이름, 클래스 이름등)는 자신이 선언된 위치에 의한 다른 코드가 식별자 자신을 참조할 수 있는 유효범위
-식별자는 어떤 값을 구별할수 있어야 하므로 유일해야한다(식별자인 변수 이름은 중복 불가)
=> 스코프를 통해 식별자인 변수 이름의 충돌 방지하여 같은 이름의 변수를 사용 가능하게 함
=>즉, 네임스페이스: 스코프 내에서 식별자는 유일해야 하지만 다른 스코프에는 같은 이름의 식별자를 사용할 수 있다
function add(x, y) {
//매개변수는 함수 몸체 내부에만 참조가능
//매개변수의 스코프 유효범위는 함수 몸체 내부
console.log(x, y);
return x + y;
}
add(2, 3)
console.log(x, y);
//스코프 유효범위는 함수 몸체 내부이므로
//ReferenceError: x is not defined
식별자 결정
자바스크립트 엔진은 이름이 같은 두 개의 변수 중에서 어떤 변수를 참조해야 할 것인지 결정
var x = 'global';
function foo() {
var x = 'local';
console.log(x);
}
foo();
// local
console.log(x);
//global
// 식별자인 변수 이름은 같지만 스코프가 다른 별개의 변수이다
즉 스코프란 자바스크립트 엔진이 식별자를 검색할때 사용하는 규칙
오늘 배우면서
key point
스코프는 식별자의 유효범위
식별자는 유일해야하지만, 다른 스코프 내에서는 같은 이름의 변수를 사용할수 있다. (네임 스페이스)
'JavaScript' 카테고리의 다른 글
| 스코프 체인 (0) | 2023.01.02 |
|---|---|
| 스코프의 종류 (0) | 2023.01.01 |
| 식별자 네이밍 규칙 (0) | 2023.01.01 |
| 값의 할당 (0) | 2023.01.01 |
| 변수 선언 (0) | 2023.01.01 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 개발자취업부트캠프
- GitHub
- react
- 그룹스터디
- 가상클래스
- 북스터디
- vim 편집기
- 국비지원교육
- 국비지원
- javascript
- til
- MegabyteShool
- 컴포넌트
- git flow
- Git
- 내일배움카드
- Root_Component
- JSX
- 리액트
- 스코프
- 패스트캠퍼스
- component
- MegabyteSchool
- 메가바이트스쿨
- export
- CSS
- html
- 그룹스터디_북스터디
- shell command
- 개발자치업부트캠프
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
글 보관함