클린코드-2 ( 변수 다루기 )

고규식·2021년 12월 9일
0
post-thumbnail

3. 전역 공간 사용 최소화 하자!

전역공간을 최소화해야된다고 들은곳

  1. 경험
  2. 누군가 혹은 자바스크립트 생태계
  3. 강의 혹은 책
  4. 회사 혹은 멘토
  5. Lints

하지만 진짜 이유는 무엇일까?!를 한번 알아보자

전역공간이란?

전역공간은 두개로 나뉜다.

  1. Window : 브라우저 환경에서 돌아가는 경우의 최상위.
  2. global : NodeJS 환경에서 돌아가는 경우의 최상위.

  • 실제로 브라우저에 console.log(window)라고 타이핑 해보면 자바스크립트 API 명세가 엄청나게 많은 것을 볼 수 있다. ex) window.alert, window.setTimeout 등등

  • 하지만 브라우저에 console.log(global)라고 타이핑 해보면 에러가난다. 이유는 global은 node.js 환경에서의 최상단이기 때문이다.

결론 : 전역공간의 최상위 이다. 그리고 브라우저와 Node.js로 나뉜다.

전역공간을 더럽히지 않는 방법?

이유 : 어디서나 접근이 가능해서 위험하다 좀 더 자세히 사람이 생각하기에는 스코프가 분리 되어있다고 생각하지만 런타임 환경에서는 분리가 되어 있지 않다.

결론 :
1. 전역변수를 최대한 만들지 않는다.
2. 지역변수로 만든다.
3. var를 사용하지 않는다.
4. window, global에 접근하며 조작하지 않는다.
5. const와 let으로만 변경해서 많이 더렵혀지지 않는다.
6. IIFE, Module, Closure를 사용해서-> 스코프를 나누기

4. 임시 변수 제거하기

  • 임시변수는 좋지않다.
  • 임시변수를 제거해야하는 이유 : 명령형으로 가득한 로직으로 나오고, 어디서 어떻게 잘못 되었는지 디버깅이 어렵다.
  • 추가적인 코드를 작성하고 싶은 유혹을 받는다.

해결책 :
1. 함수를 잘개 쪼갠다.
2. 바로 return을 해버린다.
3. 고차함수 (map, filter, reduce)
4. 선언형 코드로 바꾼다.

profile
잠실사는 주니어 개발자

0개의 댓글