본문 바로가기
안녕하세요 :) FE 개발자 윤지홍입니다.
저는 리액트를 주로 사용해요.
UX/UI디자인에도 관심이 있어요.
Javascript React NextJs NodeJs Flutter HTML CSS PHP
👋
Js 스코프(Scope) 란
jiiii-hong | Javascript | 2022년 08월 16일

Js 스코프(Scope) 란

Js 스코프(Scope) 란

jiiii-hong Javascript 2022년 08월 16일

스코프(Scope)란?

스코프란 식별자(변수, 함수, 클래스) 접근 규칙에 따른 유효 범위를 말한다.
즉 식별자에 접근 가능한 유효 범위가 존재하고 그 범위는 중괄호와 함수에 의해 나눠진다. (중괄호 : Block Scope, 함수 : Function Scope)

스코프의 종류와 접근

Block/Function 스코프가 있다.

1. 스코프는 안에서 밖으로만 접근 가능하다

스코프는 안에서 밖으로만 접근이 가능하고 그 반대는 불가능하다.

const app = () => {
  const a = '테스트';

  console.log(a); // result: '테스트'
}; // app 블록 종료

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

2. 스코프는 중첩이 가능하다

아래 코드를 보면 알 수 있듯이 스코프는 여러 번 중첩해서 사용할 수 있다.

const app = () => {
  const a = '테스트';

  const test = () => {
    const b = '비비비';

    console.log(a); // result: 테스트
    console.log(b); // result: 비비비
  };
};

3. 전역 스코프와 지역 스코프

가장 바깥쪽의 스코프를 전역 스코프라고 한다.

// root -> 전역 스코프
var a = '테스트';

const test = () => {
  // 지역 스코프
  console.log(a); // result: 테스트
};

4. 우선순위

전역 변수보다 지역 변수의 우선순위가 더 높다.

let a = '123';

const test = () => {
  let a = '456';

  console.log(a); // result: 456
};

 

Q&A

질문: 자바스크립트에서 스코프가 뭔가요?

답변: 스코프란 식별자에 접근할 수 있는 범위를 말합니다.