TIL Day-20

백광호·2020년 12월 26일
0

TIL

목록 보기
20/55

코드스테이츠 20일차

오늘로 이렇게 블로그를 남기는것도 20일째다.
뭔가 뿌듯함이 느껴지기도하고
앞으로도 열심히 남겨야겠다는 생각도 된다.

오늘은 대부분을 복습하는대에 시간을 썼다.
처음부터 다시 제대로 하나하나 짚어가면서
내가 잘 기억하는지 되돌아보는 시간을 가졌다.

새로 배운 것들

호이스팅

이전에 고차함수할때 잠깐 다뤘던 호이스팅에 대해
다시 한번 이야기해보자

함수를 선언하는 방식에는 두가지가 있다고 지난번에 이야기했다
함수 선언식과 함수 표현식 중 함수 선언식으로 작성할 때
호이스팅이 된다고 이야기 했었는데
호이스팅이 정확히 어떤건지는 아직 잘 모르겠다.

분명 배울때에는 선언한 함수가 가장 위로 올라가 선언하기 전에도
사용할 수 있다고 배웠다.

하지만 MDN에서 본것은 좀 다른 내용이었기때문에 살짝 혼란이 왔다.

호이스팅을 변수 및 함수 선언이
물리적으로 작성한 코드의 상단으로 옮겨지는 것으로 가르치지만,
실제로는 그렇지 않습니다.

변수 및 함수 선언은 컴파일 단계에서 메모리에 저장되지만,
코드에서 입력한 위치와 정확히 일치한 곳에 있습니다.

MDN에 있던 내용을 가져왔다.

그러니까 정확히는 함수 선언식으로 선언된 함수는
메모리에 저장되기 때문에 사용할 때에는 메모리에 접근하는 것이므로
선언되기전에 사용할 수 있다고 보면 되는듯하다.

하지만 이렇게 생각하면 너무 복잡해지기 때문에
쉽게 생각하기위해 그냥 코드 위로 올라간다고 생각해야겠다.

또 이전에 함수 표현식이 유지보수에 용이하기때문에
좋다고 이야기를 했었는데, 물론 장점인것은 사실이나
호이스팅을 인지하고있다면 굳이 함수 표현식으로
작성할 필요는 없다고 생각한다.

결론은 함수 표현식, 함수 선언식 어느 한쪽을 정해놓고 사용하는것이 좋고
호이스팅에 대해서도 제대로 인지하고 작성하는것이 좋을것 같다.

profile
안녕하세요

0개의 댓글