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
- 리버싱
- 자바스크립트 강의
- dreamhack reversing
- 드림핵 플래그
- 깃허브 포트폴리오
- 안드로이드 리버싱
- 위니브
- 오블완
- 기드라
- 잔디 심기
- 깃허브 블로그
- 리버싱 플래그
- 더오름
- 강의 체험단 1기
- 파이썬
- 안드로이드 모바일 앱 모의해킹
- 자바스크립트
- 인프런 강의 추천
- 제주ICT
- 깃허브 블로그 만들기
- adb
- 인프런 깃허브 강의
- 티스토리챌린지
- 드림핵 리버싱
- 제주코딩베이스캠프
- adb 옵션
- 인프런 파이썬 강의
- 안드로이드 adb
- 웃긴 파이썬
- 간단한 깃허브 블로그
Archives
- Today
- Total
해보자고
[인프런] 스코프 본문
1. 스코프란?
변수, 함수 생성시 해당 변수, 함수가 갖게 되는 유효 범위
1.1 전역 스코프(Global Scope)
: 어디서든 변수에 접근 가능한 범위
1.2 지역 스코프(Local Scope)
: 지역을 벗어난 곳에서는 접근 불가능한 범위
const num = 10;
function print() {
const num = 100;
console.log(`지역 스코프 ${num}`);
}
print()
console.log(`전역 스코프 ${num}`);
=> print()를 통해 호출된 num은 지역 스코프, 함수 외부의 num은 전역 스코프를 지님.
1.2.1 블록 스코프
: 같은 블록에서만 접근 가능한 범위
function print() {
for(let i = 0; i < 10; i++){
console.log(`블록 스코프 : ${i}`);
}
console.log(i);
}
print();
-> let 키워드는 블록 스코프를 지님. 따라서 for 블록 안의 i는 잘 출력되고, for 블록 밖의 i는 에러가 발생함.
1.2.2 함수 스코프
: 해당 함수 내부에서 접근 가능한 범위
function print() {
for(var i = 0; i < 10; i++){
console.log(`블록 스코프 : ${i}`);
}
console.log(`함수 스코프 : ${i}`);
}
print();
let vs var
공통점)
1. 변수 선언 키워드
차이점)
1. 같은 이름의 변수를 여러번 선언 O, 기존 선언 값은 무시됨.
-> 프로그램상 오류 유발 및 어디서 어떻게 사용되는지 파악이 어려움.
// let 변수 선언 키워드 사용 let num1 = 10; let num1 = 100; console.log(num1);
// var 변수 선언 키워드 사용 var num2 = 20; var num2 = 200; console.log(num2);
2. var는 함수 스코프. (let은 블록 스코프)
=> var는 해당 특징들로 인해 프로그래밍상 여러 오류들을 유발할 수 있어서 잘 사용x
'프로그래밍 > 자바스크립트' 카테고리의 다른 글
[인프런] 함수 표현식 (1) | 2024.08.31 |
---|---|
[인프런] 호이스팅 (0) | 2024.08.18 |
[인프런] 웹 프론트엔드를 위한 자바스크립트 첫 걸음 - 함수, 전역변수와 지역변수 (0) | 2024.04.12 |
[인프런] 웹 프론트엔드를 위한 자바스크립트 첫 걸음 - if ~ else if, switch ~ case (1) | 2024.04.09 |
[인프런] 웹 프론트엔드를 위한 자바스크립트 첫 걸음 - 연산자 (0) | 2024.04.09 |