From 884371866f8bd4b02faa5bc124c2a3c10840385a Mon Sep 17 00:00:00 2001 From: SeHyuk Lee <113820616+LSH-0125@users.noreply.github.com> Date: Tue, 14 Mar 2023 15:55:01 +0900 Subject: [PATCH] docs(22): 22. this (#113) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * docs(22): 22장 기억에 남는 내용 추가 * docs(22): 22장 기억에 남는 내용 업데이트 --------- Co-authored-by: LSH-0125e --- ...3\202\250\353\212\224 \353\202\264\354\232\251.md" | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 "7\354\243\274\354\260\250 (20~22\354\236\245)/22. this/LSH0125/\352\270\260\354\226\265\354\227\220 \353\202\250\353\212\224 \353\202\264\354\232\251.md" diff --git "a/7\354\243\274\354\260\250 (20~22\354\236\245)/22. this/LSH0125/\352\270\260\354\226\265\354\227\220 \353\202\250\353\212\224 \353\202\264\354\232\251.md" "b/7\354\243\274\354\260\250 (20~22\354\236\245)/22. this/LSH0125/\352\270\260\354\226\265\354\227\220 \353\202\250\353\212\224 \353\202\264\354\232\251.md" new file mode 100644 index 0000000..7fbe54a --- /dev/null +++ "b/7\354\243\274\354\260\250 (20~22\354\236\245)/22. this/LSH0125/\352\270\260\354\226\265\354\227\220 \353\202\250\353\212\224 \353\202\264\354\232\251.md" @@ -0,0 +1,11 @@ +# ✏️ 기억에 남는 내용 + +- ***this*** + + 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수 -> 이를 통해 자신이 속하 객체 또는 자신이 생성할 인스턴스의 프로퍼티나 메서드를 참조할 수 있다. + + this 바인딩은 함수 호출 방식에 의해 동적으로 결정된다. (함수를 호출하는 시점에 this 바인딩이 결정된다.) + +- **함수 호출 방식에 따른 this 바인딩** + + **일반 함수 호출** -> 기본적으론 전역 객체가 바인딩되고, strict mode 가 적용되었다면 undefined가 바인딩된다. + + **메서드 호출** -> 메서드를 호출한 객체가 바인딩된다. 메서드를 '소유'한 객체가 아닌, 메서드를 '호출'한 객체가 바인딩된다. + + **생성자 함수 호출** -> (미래에) 생성할 인스턴스가 바인딩된다. + + **Function.prototype의 메서드에 의한 간접 호출 (apply, call, bind)** -> 함수를 호출하면서 첫 번째 인수로 특정 객체를 전달하여 this에 바인딩한다.