<JavaScript> Scope 스코프

Lown Kim·2021년 9월 28일
0
post-thumbnail

학습 목표
scope, Local variable, Global variable의 의미를 이해하고 이를 고려해 코드를 읽고 작성할 수 있다.


자바스크립트 스코프란 변수가 쓰이는 범위를 의미한다. 어떤 변수는 여기저기서 쓸 수 있는 반면에, 어떤 변수는 특정 함수 내에서만 쓸 수 있었다. 이 개념이 Scope이다.


Local variable 로컬 변수
중괄호의 내부에서 변수가 정의되면 해당 변수는 오직 해당 중괄호 내에서만 사용될 수 있다. 그렇게 중괄호(block) 내에서 정의된 변수는 로컬변수라고 부른다.

function getResult() {
  let result = 10;
  
  return result;
}
console.log(result);

console.log(result)에서 getResult 내부에 접근이 불가능하기 때문에 위처럼 컴퓨터가 result라는 변수의 존재를 알지 못한다. result라는 변수는 getResult 함수의 중괄호 안에서만 사용할 수 있는것이다!


global variable 전역 변수
중괄호 밖인 global scope에서 만든 변수를 전역변수라고 한다.
코드 어디서든 접근해서 변수의 값을 확인할 수 있다.

const color = 'red';
console.log(color);

function returnColor() {
  console.log(color);
  return color;
}

console.log(returnColor());

color라는 변수는 로컬 변수가 아닌 전역 변수이기때문에 함수 안에서도 color를 잘 끌어와서 사용하는 모습!


변수를 사용 할 때는...
변수의 오염에 대비해 최대한 전역변수는 쓰지 말고 중괄호 내에서 let이나 const로 변수를 새로 만들어가며 쓰는것이 좋다.
그리고 중괄호 안에서 변수를 쓸 때는 항상 다른 이름으로 변수를 선언 해야한다는것을 유념하자!

0개의 댓글