[CleanCode JS] var (X) let,const(O)

Melon Coder·2023년 10월 20일
0

Javascript

목록 보기
2/6

var는 함수 스코프를 가진다.
let & const 블록 스코프 -> tdz (temporal dead zone) -> 안전하게 코드 작성 가능

let 과 const의 차이점

let은 재할당이 가능하지만 const는 재할당이 불가능함.

const는 재할당만 금지.
즉, 객체나 배열 같은 레퍼런스 객체들을 조작하는 것은 상관없다.

전역 공간 최소화! -> 어디서나 접근이 가능하기 때문에

전역 공간이란 window와 global로 나뉠 수 있다.
브라우저 환경에서 돌아가는 경우는 window가 최상위,
NodeJS 환경에서 돌아가는 경우는 global이 최상위.

좋은 방법: 
{
	1: "전역 변수 x",
	2: "지역 변수 o",
	3: "window, global을 조작하지 않기",
	4. "const, let 지향하기"
}

임시변수 제거하기

임시변수란 scope안에서 전역변수처럼 사용되는 변수
함수 스코프 안에 있는 임시변수도 함수가 커지면 전역 공간이나 다름 없는 상황이 발생할 수 있음.

임시변수를 제거해야 하는 이유:
{
	1: 명령형으로 가득한 로직
	2: 어디서 어떻게 오류가 났는지 디버깅을 하기 힘듬
	3: 추가적인 코드를 작성하고 싶은 유혹에 빠지므로 코드 유지 보수가 힘들게 됨
}

해결책 -> 함수를 나눔, 바로 리턴, 고차함수(map(), filter(), reduce()), 선언형 프로그래밍

호이스팅

런타임 시 선언과 할당이 분리된 것

0개의 댓글