1
00:00:00,810 --> 00:00:16,980
마지막 비디오에서 우리는 핵심 단어의 값을 결정하기위한 두 번째 규칙을 조사합니다.이 암시 적 규칙은 암시 적 규칙이 키워드가 선언 된 객체 안에있을 때 그 값이 항상 가장 가까운 부모 객체가 될 것이라고 말합니다.

2
00:00:16,980 --> 00:00:23,710
우리가 사용하는 이러한 규칙을 기록하는 한 가지 사실은 JavaScript 사양의 공식 부분이 아니므로 거기에서 찾을 수 없습니다.

3
00:00:23,730 --> 00:00:28,910
이러한 규칙은 핵심 단어의 가치를 추적하는 데 도움이됩니다.

4
00:00:29,310 --> 00:00:36,850
마지막 비디오가 끝날 때 우리는 Say hello 메소드에서 예기치 않게 키워드의 컨텍스트가 변경된 예를 보았습니다.

5
00:00:36,940 --> 00:00:44,760
this라는 키워드가 이제 dog 객체를 참조하기 때문에 first name 속성은 undefined가되었습니다.

6
00:00:44,760 --> 00:00:53,210
그러면 키워드의 값을 명시 적으로 설정하려고 할 때 dog 객체 대신 person 객체가되도록 강제 할 수 있습니다.

7
00:00:53,220 --> 00:00:56,250
이것은 세 번째 규칙이 들어오는 곳입니다.

8
00:00:56,250 --> 00:01:08,250
호출 적용 또는 바인딩 메소드가 표시 될 때마다 키워드를 적용 및 바인딩을 호출하는 첫 번째 매개 변수로 설정하기 때문에 키워드의 값을 쉽게 결정할 수 있습니다.

9
00:01:08,700 --> 00:01:11,150
이 3 가지 방법을 비교하고 대조하기 전에

10
00:01:11,220 --> 00:01:24,740
한 가지 기억해야 할 것은 함수 호출 적용 및 바인딩 또는 문자열 부울 또는 객체와 같은 다른 데이터 유형이 아닌 함수에서만 사용할 수있는 메서드에서만 사용할 수 있다는 것입니다.

11
00:01:24,750 --> 00:01:32,670
우리가 이야기 할 첫 번째 방법은 call 메소드의 첫 번째 인자를 호출하는 것입니다. 키워드의 값을 원하는대로 지정하십시오.

12
00:01:32,670 --> 00:01:37,370
이것은 일반적으로이 ARG라고하며 원하는대로 설정할 수 있습니다.

13
00:01:37,530 --> 00:01:50,550
이 ARG 다음에 나오는 인수는 혼란스러운 소리 내에서 키워드의 컨텍스트를 변경하는 함수에 전달하려는 매개 변수이지만, 예를 볼 때 더 이해할 수 있습니다.

14
00:01:50,550 --> 00:01:57,080
함수는 무한 수의 인수를 가질 수 있기 때문에 호출을 사용할 때 쉼표로 각 함수를 구분합니다.

15
00:01:57,150 --> 00:02:03,230
마지막으로, 함수가 즉시 호출되는 함수에서 호출 메소드가 사용될 때.

16
00:02:03,230 --> 00:02:04,600
이제 음모로 넘어 갑시다.

17
00:02:04,920 --> 00:02:15,630
적용은 호출과 거의 동일합니다. 다만 적용은 우리가 핵심 단어의 값을 원하기 만하면되는 것처럼 처음에는 대부분 두 개의 매개 변수를 취합니다.

18
00:02:15,630 --> 00:02:17,700
우리는 이것을 ARG라고 부릅니다.

19
00:02:17,880 --> 00:02:25,600
두 번째는 우리가 this 키워드의 값을 변경하는 함수에 전달할 인수 배열입니다.

20
00:02:25,680 --> 00:02:27,060
이제 바인드를 살펴 봅시다.

21
00:02:27,330 --> 00:02:32,490
바인딩은 함수를 즉시 호출하는 대신 호출과 거의 동일합니다.

22
00:02:32,550 --> 00:02:35,070
Bind는 함수 정의를 반환합니다.

23
00:02:35,490 --> 00:02:38,410
함수 정의에서 의미하는 바를 간단히 요약 해 보겠습니다.

24
00:02:38,430 --> 00:02:43,270
첫 번째 함수라는 함수를 만들려고하고 hello라는 문자열을 반환 할 것입니다.

25
00:02:43,650 --> 00:02:47,570
만약 내가 함수를 호출하지 않지만 내가 만든 변수를 검사하십시오.

26
00:02:47,760 --> 00:02:50,480
함수 정의가 반환됩니다.

27
00:02:50,490 --> 00:02:59,710
Bind는 this 키워드와 다른 값을 가진 함수를 볼 수 있고 나중에 호출 할 수 있기 때문에 매우 강력한 함수입니다.

28
00:02:59,850 --> 00:03:08,720
Bind는 set timeout과 같은 비동기 코드로 작업 할 때 매우 유용하며 couriering과 같은 고급 프로그래밍 기술을위한 기본 요소입니다.

29
00:03:08,790 --> 00:03:15,780
이 세 가지 메소드를 빠르게 요약 해 보겠습니다. call apply와 bind는 키워드의 값을 명시 적으로 말하기 위해 사용됩니다.

30
00:03:15,810 --> 00:03:21,000
이것은 우리가 참조 할 키워드에 대한 완전한 제어를 원할 때 사용합니다.

31
00:03:21,300 --> 00:03:32,940
따라서 처음 두 규칙보다 우선 순위가 높아지고 apply는 즉시 호출되는 함수를 호출하는 반면 bind는 새로운 함수 정의를 키워드 값과 함께 반환합니다.

32
00:03:32,940 --> 00:03:36,640
이것은 명시 적으로 마지막으로 호출 및 바인딩을 설정합니다.

33
00:03:36,660 --> 00:03:42,430
무한 수의 매개 변수를 제외하고 적용하는 반면 다음 비디오에서는 두 개만 사용합니다.

34
00:03:42,450 --> 00:03:48,150
호출의 예와이를 사용하여 키워드의 값을 명시 적으로 설정할 수있는 방법을 살펴 보겠습니다.
