목록FrontEnd/JavaScript Basics (19)
Muscardinus
this에 관하여 내용을 계속 진행하기 전에 JS의 함수에 관하여 한 가지 사실을 알아보자 JavaScript 함수(Function)는 함수이기 이전에 Object(객체)이다. 그러기에 자신 고유의 method를 가지고 있다. Function 자체의 proto를 가다 보면 결과적으로 Object가 나온다는 것을 확인 할 수 있다. MDN 웹사이트에서 Javascript Object method를 찾아보면 아래 그림과 같이 수 많은 method들이 있다는 사실을 볼 수 있다. 출처: developer.mozilla.org/en-US/ 이렇듯 객체에는 많은 내장 method가 있다. 물론 우리가 상황에 맞게 prototype에 접근하여 우리만의 method를 만드는것 또한 가능하다. 자 그러면 이제 다시 t..
1. Regular function call (일반 함수 실행 방식) 위 코드의 결과 값은 15이다 this가 실행되는 곳은 맨 마지막 줄의 printAge 함수이다. 특별한 것 없이 함수 이름 만을 이용하여 실행하는 경우, 즉 일반 함수 실행 방식에서는 해당 함수의 this 값은 Global Object 이다. 브라우저에서는 window 객체이다. Chrome Console 창 사용 1탄에 있었던 코드를 다시 보자 (출력 값: 15) this가 사용되는 함수는 muscardinus라는 객체의 printAge 라는 속성으로 할당되어 있다. 하지만 항상 기억해야할것! 함수의 선언이나 할당은 this의 값과 무관하다 해당 함수의 실행되는 부분은 맨 마지막 줄이고 일반 함수 호출 방식으로 실행된다. 그렇기에 ..
JavaScript를 하는 많은 개발자들이 가장 두려워하는 파트이다. 그것은 바로 "This"! 실제로 현업에 오랫동안 종사하신 개발자들 중에도 "This"에 관하여 제대로 알 지 못하는 사람들이 많다는 것을 얼핏 들은 적이 있다. 하지만 본 개발자 '는 모든 것을 알지는 못 하더라도 아는 것 만큼은 제.대.로 아는 것을 추구하기에 용기 내어 이 글을 작성한다. (아직 배워가는 과정이므로 틀린 것이 있다면 꼭 댓글을 달아주시기를 부탁합니다!) 자 이제 시작해보자 JS의 모든 함수(arrow function 제외) 내부에서는 별도의 변수 선언 없이 this keyword를 사용할 수 있다 (keyword라 하면, JS에 내장된 명령어이다) (주의!!) function 키워드를 이용해 생성한 일반 함수와는 ..