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
- 싸피
- Python
- PWA
- 알고리즘
- vitepwa
- 셀프넘버
- pwa적용하기
- SSAFYcial
- SQL
- 백준
- js
- 싸피10기
- 플로이드워셜
- Django
- 14658
- QuerySetAPI
- git
- unionfind
- SSAFY
- 데코레이터
- db
- TypeScript
- 싸피셜
- sqld
- 리액트
- VITE
- 머신러닝종류
- react
- queryset
- Javascript
Archives
- Today
- Total
Meme's IT
[JS] 스코프 본문
# 스코프?
함수, 변수에 접근할 수 있는 범위
외부에서는 접근 불가능한 범위
스코프의 종류로는 전역, 로컬(블록, 함수)
let scope1 = 10
{
console.log(scope1) // 10, 위에서 찾아옴
}
let scope1 = 10
{
console.log(scope1) // 오류남
let scope1 = 20
}
왜 오류..? → 자신의 스코프 안에서 먼저 찾는데, 밑에서 선언을 하니까 오류부터 남
# 블록 스코프?
if, for, 함수 등의 중괄호 내부를 가리킴
블록 스코프를 가지는 변수는 바깥에서는 접근 불가능
let x = 1
if (x == 1) {
let x = 2
console.log(x) // 2
}
console.log(x) // 1
지역 변수가 없다면 상위로 가서 찾음
let x = 1
if (x == 1) {
// let x = 2
console.log(x) // 1
}
console.log(x) // 1
# 함수 스코프?
함수 내부에서 사용하는 영역
var, let, const 모두 외부에서 사용 불가능
function abc() {
var varTemp = 10
let letTemp = 20
}
console.log(varTemp) // 에러남
console.log(letTemp) // 에러남
// 함수 스코프 내부의 변수를 참조할 수 없어서 에러남
if (true) {
var varTemp = 10
let letTemp = 20
}
console.log(varTemp) // 얘는 된다
console.log(letTemp) // 얘는 안됨....
// var는 뚫고 나옴
근데.. var는 함수 스코프에서만 지역 변수로 인식
블록 스코프에서는 전역 변수처럼 인식
^^...
만악의 근원 var...
sivar..
'FrontEnd > JavaScript' 카테고리의 다른 글
[JS] 얕은 복사와 깊은 복사 (0) | 2023.10.26 |
---|---|
[JS] 'this' keyword (0) | 2023.10.25 |
[JS] 배열(Array) (0) | 2023.10.25 |
[JS] JSON (0) | 2023.10.25 |
[JS] Object(객체) (0) | 2023.10.25 |