일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- basic
- 자바스크립트문법
- 리액트
- 렌더링
- 책
- 클린코드
- 엘리
- TypeScript
- 기본
- javascript
- type
- React
- 자바스크립트
- 마틴파울러
- 개발자
- 리팩터링
- 문법
- 브라우저
- 리팩토링
- 도서
- 2판
- syntax
- 타입
- rendering
- 리뷰
- 자료구조
- js
- 개정판
- refactoring
- ES5
- Today
- Total
목록스코프 (2)
Santos의 개발블로그
먼저 코드를 보자. 예측할 수 있는 시나리오는 다음과 같다. - findUser 함수는 아이디가 0보다 크면 성공메시지를 출력, 아니면 실패 메세지를 출력 -> if-else 문을 빠져나온 후, 실패 메세지를 다시 한번 출력 하지만 findUser(1)로 함수를 호출하게 되면 어떻게 출력이 될까? 다음 코드와 같이 오류가 발생하지 않고, undefined가 출력이 된다. 어떻게 이런 결과가 나오는 것일까? 이런 상황을 만들어 내는 호이스팅(Hoisting)에 대해서 알아보자. var의 Function Scope와 Variable Hoisting 호이스팅(Hoisting)이란? - 해당 변수(var)가 속한 범위(scope) 최상단으로 올려버리는 현상 - 범위(scope)는 다른 언어처럼 block레벨이 ..
스코프(Scope) 스코프는 어떤 변수에 접근할 수 있는 지를 정의하는 것이다. 스코프는 2가지로 나눌 수 있다. - 전역 스코프 - 지역 스코프 전역 스코프 전역 스코프: 변수가 모든 함수에 속하지 않고, {} 괄호안에 들어 있지도 않을 때 부르는 변수 - JavaScript 어디에서든 불러 사용 할 수 있다. - 네이밍 충돌(naming collisions)이 발생할 확률이 있다. 그러므로 전역변수는 권장되지 않는다. 지역 스코프 지역 스코프: 코드 내 특정 구역에서만 사용할 수 있는 변수 지역스코프는 2가지 종류로 나눌 수 있다. - 함수 스코프 - 블록 스코프 함수 스코프 함수 스코프: 함수 내에서 변수를 선언했을 때 선언된 변수에 접근 가능, 함수 밖에서는 함수 내부에 있는 변수에 접근 불가능한..