본문 바로가기
it/clean coding

chapter 2 - 스코프

by hanjae 2022. 3. 25.

변수선언에 있어서 블록레벨과 함수레벨을 주의하면서 작성해야합니다


1. 전역변수(함수레벨)지역변수(블록레벨)

  • 전역변수 : 함수 외부에서 접근 할 수 있는 변수이다
  • 지역변수 : 함수 내부에서 선언된 변수로, 함수가 실행되면 실행되는 함수로 , 함수 외부에서는 
                    접근이 불가능 합니다

2. var , let , const

  • var : 전역변수 , 재할당 가능
  • let : 지역변수 , 재할당 가능
  • const : 지역변수 , 재할당 불가능

 es2015이후 변수함수 let, const 가 생겼다

 우리가 var를 쓰지 말고 let과 const를 사용하라고 하는데 이유가 무엇인지 잘 모르는 사람들이 많습니다

 

3. let과 const를 사용해야 하는 이유

  - var를 사용했을 시 문제점

(위 코드의 설명 index.html에서 index1.js 와 index2.js를 불러오고 있고,
index1.js 와 index2.js에서 globar이라는 함수를 호출하고 있다 )

 

혹시 페이지를 나눴다고 함수를 각기 사용한다고 착각하여 사용하는 사람이 있을 수 있다.

여기서의 문제점은 globar이라는 함수가 index.html에서 불려와서 사용되고 있음으로 혹시 index2.js에서 globar함수를

초기화해서 사용하게 되면 전체 코드의 globar함수의 값이 어느것이 맞는지 혼란을 야기할 수 있게 되는 문제가 발생한다

그래서 let과 const를 사용해야 되는 결론이 나온다

 

*참고

스코프를 오염시키지 않고 변수를 할당하는 방법

1. let,  const

2. iife (즉시실행함수)
3. closer (함수안에 함수를 실행하는 것)

 

 

 

 

'it > clean coding' 카테고리의 다른 글

chapter 1 - 클린코드란  (0) 2022.03.25