강의

멘토링

커뮤니티

Inflearn コミュニティ Q&A

dbstjdgy61339 のプロフィール画像
dbstjdgy61339

投稿した質問数

コアJavaScript

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

作成

·

288

0

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

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

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

javascript

回答 4

1

jaenam님의 프로필 이미지
jaenam
インストラクター

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

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

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

0

jaenam님의 프로필 이미지
jaenam
インストラクター

네 맞습니다.

0

dbstjdgy61339님의 프로필 이미지
dbstjdgy61339
質問者

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

0

dbstjdgy61339님의 프로필 이미지
dbstjdgy61339
質問者

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

dbstjdgy61339 のプロフィール画像
dbstjdgy61339

投稿した質問数

質問する