마지막 비디오에서이 비디오의 new 키워드를 사용하여 생성자 함수에서 객체를 만드는 방법을 보았습니다.
코드를 복제하지 않고 여러 생성자 함수를 사용하는 방법을 배우게 될 것입니다.
여기 소재는 도전적 일 것입니다.
따라서 앞으로 키워드를 사용하기 전에 키워드에 대한 동영상 시리즈를 시청했는지 확인하십시오.
이제 우리는 자동차 용과 오토바이 용의 두 가지 생성자 함수가 있다고 상상해보십시오.
두 가지 모두를위한 코드는 다음과 같습니다. 여기서는 new 키워드를 사용하여 객체를 생성하는 몇 가지 기능 만있는 것은 아닙니다.
하지만이 코드에 대해서는별로 좋지 않습니다.
오토바이 기능에서 얼마나 많은 코드를 복제하고 있는지보십시오.
우리가 카드 기능에서 코드를 빌려서 오토바이 기능에 넣을 수 있다면 정말 깔끔할 것입니다.
따라서 오토바이 기능의 내부에서 자동차 기능을 호출하는 것이 어떨까요?
여기서 문제는 자동차 기능을 키워드라고 부르는 것입니다.이 핵심 단어는 자동차 기능에서 생성 될 객체를 나타냅니다.
하지만 그건 잘못된 것입니다.
여기서해야 할 일은 키워드 this 값을 모터 사이클 기능에서 생성 된 개체로 변경하는 것입니다.
키워드의 가치를 어떻게 바꿀 수 있습니까?
이것은 명시 적 바인딩을 사용하여 키워드의 값을 알아내는 세 번째 규칙으로 되돌아갑니다.
즉, 함수 정의를 반환하지 않으므로 bind를 사용하여 호출 적용 또는 바인딩을 사용할 수 있으므로 호출을 선택하거나 적용 합니다.
더 나은 방법은 두 가지 모두를 살펴보고 어떤 경고가 더 나은 선택인지 알아 보겠습니다.
내가 보여줄 코드는 처음에는 꽤 혼란 스러울 수 있습니다.
그러므로 먼저 비디오를 일시 중지하고 크롬 콘솔에 넣어서 무슨 일이 일어나는지 정확하게 확인하십시오.
따라서 자동차 기능은 동일하게 보이지만 자동차 기능에서 코드를 복제하는 대신 오토바이 기능에서 재미있는 일이 일어나고 있습니다.
우리는 car 함수를 호출하지만 키워드 키워드의 컨텍스트를 키워드로 변경합니다.
그게 무슨 뜻입니까?
우리가 핵심어의 정확한 문맥을 잃어 버렸던 호출을 사용하지 않았던 때가 오기 전에 우리의 문제로 다시 생각해보십시오.
이 키워드의 올바른 값입니다.
이것은 오토바이 기능에서 생성되는 객체 여야합니다.
new 키워드가 사용될 때 우리가 그 객체에 접근하는 방법은 this 키워드를 오토바이 기능 안에서 사용하는 것입니다.
이것은 매우 혼란 스럽습니다.
자 이제 다시 이해하려고 노력하겠습니다.
오토바이 기능에서 중복을 제거하고 싶습니다.
그래서 우리가하고있는 일은 모터 사이클 기능 안에서 코드를 호출하여 자동차 기능에서 코드를 빌려 오는 것입니다.
여기서 문제는 자동차 기능 내부의 키워드가 우리가 사용하고자하는 키워드가 아니라는 것입니다.
따라서 우리는 caller apply를 사용하기 위해 this 키워드의 값을 변경해야합니다.
호출하거나 적용 할 첫 번째 매개 변수로 우리는 키워드의 값을 원하는 값으로 지정할 것입니다.
this 키워드가 오토바이 기능에서 생성 될 개체입니다.
우리가 그 객체에 접근하는 방법은 오토바이 기능의 키워드 this를 사용하는 것입니다.
그래서 호출하거나 적용 할 첫 번째 인수는 모터 사이클 기능에서 생성 된 개체를 참조하는 this 키워드입니다.
새로운 키워드가 사용되면 여전히 걱정스럽지 않게됩니다.
우리는 여기 꽤 고급 자바 스크립트를하고 있습니다.
비디오를 일시 중지하고 다음 코드 예제를 시도하십시오.
언제나 전화 나 신청을 할 수 있도록 질문을하겠습니다.
그러나 유일한 차이점은 두 번째 매개 변수를 적용 할 때 두 번째 매개 변수를 적용한다는 것입니다. 함수에 전달되는 인수 배열을 사용하여 모형과 연도를 배열에 배치하거나 다른 특수 키워드 인 인수를 사용할 수 있습니다. 예어.
이전에 인수를 본 적이 있을지 모르지만 인수가 함수에 전달 된 모든 인수 목록 인 경우 기술적으로 배열이 아닙니다.
그러나 우리의 목적을 위해 여기서는 인수 배열을 사용하는 간단한 예제를 생각해 볼 수 있습니다.
함수에 전달 된 인수를 반환하는 list arguments라는 함수를 만들려고합니다.
이제 목록 인수를 하나 2와 3으로 호출 해 봅시다.
우리는 함수에 전달 된 인수 배열을 얻는 것을 볼 수 있습니다.
이제 예제에서 우리는 목록 대신 arguments 배열을 사용할 수 있습니다.
모델과 연도를 확인하십시오.
꽤 좋은 리펙터를 넣습니다.
우리는 세 줄의 자동차 기능을 복사하여 붙여 넣지 않고 자동차 기능을 차용하여 키워드 키워드의 컨텍스트를 변경하고 다음 비디오에서 그 기능에 대한 모든 인수를 전달했습니다.
우리는 생성자 함수와 새로운 키워드에 대해 배운 것을 되풀이 할 것입니다.