FrontEnd/javascript (2) 썸네일형 리스트형 [JS] THIS 다른언어에서 this 개념을 접했던 분들이라면 자바스크립트의 this도 같을거란 생각으로 접했다 큰 낭패를 보는 경우가 있다 자바스크립트의 this는 다른언어에서와 같이 this가 그 함수 그자체를 가리키지 않는다. 그예를 들어보겠다 function foo(num){ console.log("foo:" + num); this.count++; } foo.count = 0; for(let i=0; i 5){ foo(i); } } //foo:6 //foo:7 //foo:8 //foo:9 console.log(foo.count);//0 위결과를 보면 최종 foo.count는 4가 아니고 0을 나타낸다 분명 foo 함수에서 호출될때마다 this.count++;을 하였는데 왜 0일까 즉 this가 자기자신을 가리키지.. const 정리 const는 변수와 다르게 우리가 보통 알고있기로는 변하지 않는 값을 가진다. 즉 immutable 로 이해하는 경우가 많다. 하지만 MDN 문서에는 아래와 같이 기술한다. const 선언은 블록 범위의 상수를 선언합니다. 상수의 값은 재할당할 수 없으며 다시 선언할 수도 없습니다. 재할당할수 없으며는 결국 할당된 상태에서 그 주소의 값을 바꾸면 값을 변경할수가 있다는 얘기가 된다. const a = 1; a = 2; 아래와 같은 오류를 발생시킨다. Uncaught TypeError: Assignment to constant variable. 즉 const 변수에 재할당이 발생한것이다. 내부적으로 자바스크립트 컴파일러는 1 이라는 값을 메모리에 담고 a 라는 상수에 그 주소값을 기억한다. a = 2 를 .. 이전 1 다음