Javascript : 스코프

kimsnmyng·2024년 12월 1일

Vanilla Javascript

목록 보기
8/23

출처: 한 입 크기로 잘라먹는 리액트

// 스코프
// 우리말로 "범위" 를 뜻함
// 변수나 함수에 접근하거나 호출할 수 있는 범위를 말 함

function funcA() {
  let a = 1;
}

console.log(a); // Uncaught ReferenceError: a is not defined

// 변수 a는 함수내에서만 선언이 돼 있는 상태이기 때문에, 함수 바깥에서
// 호출할 수 없다. funcA에 선언된 지역 스코프임

// 스코프는 전역(전체) 스코프와 지역(특정 영역) 스코프로 나뉜다.

let a = 1; // 전역 스코프

function funcB() {
  console.log(a);
  let b = 1; // 지역 스코프
  function funcD() {
  
  }
}

funcD(); // 불가능

funcB(); // 가능
console.log(b); // 불가능

if(true) {
  let c = 1; // 지역 스코프
  function funcD() {

  }
}

funcD(); // 가능

console.log(c); // 불가능

// 블록내에 선언된 모든 변수는 지역 스코프를 갖는다.

for (let i = 0; i < 10; i++) {
  let d = 1; // 지역 스코프
  function funcD() {

  }
}

funcD(); // 가능
console.log(d); // 불가능
console.log(i); // 불가능

// 함수 선언식만 for문과 if문에서 지역스코프를 갖지 않는다. 함수 내에서는 지역스코프다.
// 따라서 함수 선언식은 함수내에서만 지역 스코프를 갖는다.
profile
안녕하세요 김선명입니다.

0개의 댓글