[JS] 변수 스코프

Im-possible·2025년 4월 11일

변수

var

  • 함수 단위의 유효범위를 갖는 변수 선언문
  • 사용하지 않는 것을 권한다.

let

  • 블록 단위의 유효범위를 갖는 변수 선언문

const

  • 블록 단위의 유효범위를 갖는 상수 선언문
  • const는 변수의 재할당을 막는다

전역 변수

  • 함수 외부에서 선언한 변수
  • 스크립트 내 어디에서나 접근 가능
  • 페이지가 로딩될 때 한번 생성하여 값이 유지
  • 브라우저 환경에서sms window 객체의 속성으로 지정됨
  • 사용하지 않는 것이 좋다

지역 변수

  • 함수 내부에서 선언한 변수
  • 해당 함수 내부에서만 접근 가능
  • 함수가 호출될 때마다 새로 생성하여 값이 초기화
  • 함수 내부에서 선언하지 않고 바로 사용하는 변수는 전역 변수로 동작
const num1 = 20; // 전역 변수

function max(n1, n2){ // 지역 변수
  let result; // 지역 변수
  if(n1 > n2){
    result = n1;
  }else{
    result = n2;
  }
  return result;
}
console.log(max(10, num1)); // 20
console.log(max(200, num1)); // 200

변수 우선순위

  • 가까운 곳부터 찾는다
  • 지역 변수 영역에서 먼저 찾고, 없을 경우 전역 변수에서 찾는다

지역변수 유효 범위

  • 자바스크립트에서의 var로 선언한 변수는 함수 단위의 유효범위를 갖는다
  • let과 const는 블록 단위의 유효범위를 갖는다.

0개의 댓글