변수선언에 있어서 블록레벨과 함수레벨을 주의하면서 작성해야합니다
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 |
---|