장바구니에 상품이 없습니다.
home2 › 게시판 › JavaScript, TS 게시판 › This 개념이 이해가 잘 안가요 선생님
this가 자기 자신을 담고있는 오브젝트를 불러온다고 했는데
위에 코드에서면 undefined이 되지 않나요? 아니면 funtion을 담고있는 것이 document니까 window...?
잘 이해가 가지 않습니다 ㅠㅠ
setTimeout(()=>{console.log(this.InnerHTML)}
여기서 애로우 펑션에서 this를 쓰면 window가 되야하지 않나요?ㅠㅠ
추가적으로 호이스팅관련해서도 궁금한 점이 있는데요
let a = 1; window.a = 3;
console.log(a) 1
let은 재선언이 불가하다고 알고있는데 let a = 1자체가 window.a로 전역변수로 들어가지 않나요? window.a =3을 하면 오류가 나는게 정상이 아닌가요? ㅠ
let ( i = 0 , i<9 i++){ setTimeout ~~~ }
var는 i가 ()이 안에서만 유효한건가요?
let은 i가 {}이 안에서 유효하다는건 알고있는데 왜 var만 i가 5로 저장이 되는건지 이해가 안되요 ㅠ
1. 이벤트리스너 콜백함수는 document.getElementById() 여기 들어있다고 생각하면 됩니다
2. window입니다 안되면 setTimeout이 다른함수 안에 들어가있나봅니다
3. var 변수만 window에 추가됩니다
4 var 변수는 범위가 함수입니다 for 반복문은 함수가 아니라서 for 밖에서 var i 만든거나 안에서 var i 만든거나 효과가 똑같습니다
유효한것보다는 변수를 만들었을 때 변수가 붙어있는 곳이 let, var 각각 다르다고 생각하면 됩니다