For Programmer
자바스크립트 - this의 이해 본문
728x90
* 객체안에 객체도 담을 수있으며 객체안에 함수도 원소로 저장이 가능하다.
* this란 자기를 감싸고 있는 객체를 의미한다. 위의 코드에서는 grades라는 객체를 의미한다.
* 단, this를 감싸고 있는 객체가 없을 경우 기본적으로 함수내에서의 this는 웹 브라우져의 전역객체 window를 의미한다.
*this의 자세한 설명은
https://www.zerocho.com/category/JavaScript/post/5b0645cc7e3e36001bf676eb
아주잘되어 있으니 참고하면된다.
*this 사용의 혼동 예시)
var numbers = {
numberA: 5,
numberB: 10,
sum: function() {
console.log(this === numbers); // => true
function calculate() {
// this는 window, 엄격 모드였으면 undefined
console.log(this === numbers); // => false
return this.numberA + this.numberB; // numbers에 접근 불가
}
return calculate();
}
};
-> sum: function{}은 객체의 메서드이고 calculate() 함수는 sum이라는 프라퍼티의 이너함수이지만 사용자가 선언안 함수이다. arrow함수가 아닐경우 this는 하위 함수로 상속되지않기때문에 this는 window를 가리키게 된다.
*추가적으로 자바스크립트를 사용하기위해선 this에 대한이해는 필수적이기 때문에 공식문서를 한번씩 읽어보기 바란다.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/this
728x90
'Programming language > JavaScript' 카테고리의 다른 글
자바스크립트 - 코딩시참조할 수 있는 사이트 (0) | 2020.07.18 |
---|---|
자바스크립트 - 모듈화 (0) | 2020.07.18 |
자바스크립트 -배열과객체에서 사용가능한 For-in문(반복문) (0) | 2020.07.17 |
자바스크립트 - 객체 (0) | 2020.07.17 |
자바스크립트 - 배열의 내장메서드 (0) | 2020.07.17 |
Comments