-
[JS] Chapter 7. 스코프codeStates front-end/Java Script 2023. 1. 5. 14:43반응형
스코프
실습) 개념 학습 전 개발자 도구로 실행해보기
let username = 'kimcoding'; if (username) { let message = `Hello, ${username}!`; console.log(message); // Hello, kimcoding! } console.log(message); // undefined
첫 번째 콘솔 출력 결과 → Hello, kimcoding!
두 번째 콘솔 출력 결과 → undefined
why? 함수 안에 선언된 변수 message가 바깥쪽에 접근 할 수 없기 때문!
스코프
변수에 접근할 수 있는 범위가 존재하는데 이를 스코프라고 함
스코프의 정의와 규칙
기억해두자!
- 바깥쪽 스코프에서 선언된 변수는 안쪽 스코프에서 사용 가능
- 안쪽에 선언한 변수는 바깥쪽 스코프에서는 사용 불가능
- 지역 스코프에서 선언한 변수 : 지역 변수
- 전역 스코프에서 선언한 변수 : 전역 변수
- 지역 변수보다 전역 변수에 우선순위를 줌
실습) 아래 실습으로 출력된 콘솔 결과 확인해보기
let name = '김코딩'; function showName() { let name = '박해커'; // 지역 변수 console.log(name); // 두 번째 출력 } console.log(name); // 첫 번째 출력 showName(); console.log(name); // 세 번째 출력
출력 결과
김코딩
박해커
김코딩
스코프의 종류
블록 스코프(block scope) : 중괄호, 화살표로 둘러싼 범위
함수 스코프(function scoope) : 함수로 둘러싼 범위
스코프 변수 선언
let, var, const 키워드 비교
스코프 변수 선언에서 주의할 점
☑️ var로 선언된 전역 변수 및 전역 함수는 window 객체에 속함
-브라우저에는 window라는 객체가 존재
var로 선언된 전역 변수와 전역 함수가 window 객체에 속함
var myName = '김코딩'; console.log(window.myName); // 김코딩 function foo() { console.log('bar'); } console.log(foo === window.foo); // true
☑️ 전역 변수는 최소화 하기
☑️ let, const를 주로 사용하기
☑️ 선언 없는 변수 할당 금지
→ strick mode를 사용하면 실수 방지
age = 90; // 선언이 없기 때문에 전역 변수 취급
반응형'codeStates front-end > Java Script' 카테고리의 다른 글
[JS] chapter9. spread/rest 문법 (0) 2023.01.05 [JS] Chapter 8. 클로저 (0) 2023.01.05 [JS] Chapter 6. 원시 자료형과 참조 자료형의 특징과 종류 (0) 2023.01.04 [JS] Chapter 5. 객체 (0) 2023.01.04 [JS] Chapter 4. 배열 (0) 2023.01.04