호이스팅은 "선언"만 코드의 최상단으로 올라가는 거라고 하셨는데요.
그래서 변수 같은 경우는

강의에서 보여주신 예제 처럼 "할당"이 등장하기 전까지는 undefined로 나오고요.
그런데, 이 논리대로라면 함수의 경우에도 undefined가 나와야하는데,

함수의 경우는 undefined가 나오지 않고, 밑에 라인에서 할당해준 값이 잘 나옵니다.
이유가 뭔가요?? 함수의 호이스팅은 어떻게 이해를 해야하는지 살짝 헷갈립니다ㅠ
추가적으로,

이런 식으로 하면, 호이스팅의 정의대로 undefined가 찍힙니다.
그런데, 이런 식으로 함수를 짜면,

잘 찍혀서, 전역 변수이냐? 아니냐? 문제도 아닌 것같고... 왜 이 경우에는 잘 찍히는 거고 어떻게 이해해야 하는 건가요??