스코프

변수의 유효범위

상위 스코프에서 유효한 변수는 하위 스코프에서 자유롭게 참조할 수 있지만 하위 스코프에서 유효한 변수는 상위 스코프에서 찹조할 수 있음

렉시컬 스코프는 함수를 어디서 호출하는지가 아니라 어디에 선언하였는지에 따라 결정됨

let user = {
  name: "DK",
  age: 20,
};

if (user) {
  let result = `${user.name}`;
  console.log(result); // DK
}
console.log(result); // ReferenceError

let name = "DK";

const showName = () => {
  let name = "SB";
  console.log(name);
};

console.log(name); // DK
showName(); // SB
console.log(name); // DK
let name = "DK";

const showName = () => {
  name = "SB";
  console.log(name);
};

console.log(name); // DK
showName(); // SB
console.log(name); // SB

스코프의 종류

  1. 블록스코프

    중괄호를 기준

    블록스코프 안에서 정의된 변수는 블록을 벗어나면 접근할 수 없다.

    하지만 var는 이를 무시함 하지만 화살표함수는 무시 안함

  2. 함수스코프

    함수선업식 및 함수표현식은 함수 스코프를 만든다.

    화살표함수는 블록스코프 취급

window 객체

var로 선언된 전역변수 및 전역함수는 window 객체에 속한다.

var dd = "dd";
console.log(window.dd); // dd
// customElements 안에 있다.

카테고리:

태그:

업데이트:

댓글남기기