Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

22. this #113

Merged
merged 2 commits into from
Mar 14, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions 7주차 (20~22장)/22. this/LSH0125/기억에 남는 내용.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# ✏️ 기억에 남는 내용

- ***this***
+ 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수 -> 이를 통해 자신이 속하 객체 또는 자신이 생성할 인스턴스의 프로퍼티나 메서드를 참조할 수 있다.
+ this 바인딩은 함수 호출 방식에 의해 동적으로 결정된다. (함수를 호출하는 시점에 this 바인딩이 결정된다.)

- **함수 호출 방식에 따른 this 바인딩**
+ **일반 함수 호출** -> 기본적으론 전역 객체가 바인딩되고, strict mode 가 적용되었다면 undefined가 바인딩된다.
+ **메서드 호출** -> 메서드를 호출한 객체가 바인딩된다. 메서드를 '소유'한 객체가 아닌, 메서드를 '호출'한 객체가 바인딩된다.
+ **생성자 함수 호출** -> (미래에) 생성할 인스턴스가 바인딩된다.
+ **Function.prototype의 메서드에 의한 간접 호출 (apply, call, bind)** -> 함수를 호출하면서 첫 번째 인수로 특정 객체를 전달하여 this에 바인딩한다.