인프런 커뮤니티 질문&답변

김동님의 프로필 이미지
김동

작성한 질문수

코어 자바스크립트

(예전자료 - 삭제) 함수스코프, 실행컨텍스트

선생님 몇번 복습하고 질문좀 드릴게요 ㅠ

작성

·

219

0

제가 이해한게 맞나 해서 질문드립니다 ㅠ 

태초에 전역컨텍스트가 잇어서 호이스팅과 디스바인딩이 일어나고  변수선언과 함수 표현식이 아닌 선언문을 호이스팅 한후 값을 할당  함수호출 이부분에서요 함수호출이되면 무조건 그함수에 실행컨텍스트가 열리고 호이스팅과 디스바인딩을 하는게 맞나요? 전역 컨텍스트 외에  컨텍스트는 함수 호출할때만 생기는게 맞나요? 디스바인딩과 호이스팅은 변수선언 함수선언에만 적용되는지도 궁금합니다 ㅠ 아그리고 마지막으로.. 내부함수안에 var를 쓰지 않고 전역변수 a 를 그대로 가져와서 a값을 재할당할때도 호이스팅이 일어나는지 궁금합니다.. 너무 많이 여쭤봐서 정말 죄송합니다.

그리고 강의내용이 너무 좋아요 ㅠㅠ 책도 사서 꼭 봐바야겟습니다. ㅠ.ㅠ

답변 4

1

정재남님의 프로필 이미지
정재남
지식공유자

ES5까지는 함수 호출시에만 실행컨텍스트가 생기는게 맞습니다. ES6에서는 '블록스코프' 하나가 더 추가됩니다.

this 바인딩, 호이스팅은 '선언'에만 적용되는게 맞습니다.

전역변수의 값을 재할당하는 경우엔 호이스팅이 일어나지 않습니다.

0

정재남님의 프로필 이미지
정재남
지식공유자

네 맞습니다.

0

김동님의 프로필 이미지
김동
질문자

아 혹시 ES6 에서 말하는 블록스코프는  if for 에서 let이나 const를 쓸경우에만 지역변수로 쓸수 있는걸 말씀하시는건가요?

0

김동님의 프로필 이미지
김동
질문자

정말 감사드립니다. 완강하고 ES6도 들어야겟어요!

김동님의 프로필 이미지
김동

작성한 질문수

질문하기