이전 비디오에서 우리는 javascript가 프로토 타입 체인을 작업하여 객체에 대한 메서드와 속성을 찾는 것을 보았습니다.
프로토 타입 속성은 생성자 함수에서 생성 된 모든 객체간에 공유 할 속성과 메서드를 넣을 수있는 좋은 장소라는 것을 알았습니다.
예제를 살펴보고 프로토 타입 객체에 메서드와 속성을 배치하는 것이 왜 효율적인지 살펴 보겠습니다.
이 예제에서는 person 생성자 함수에서 생성 된 객체에 Say hi라는 메서드를 연결합니다.
이제 완전히 잘 될 것입니다.
그러나 우리가 한 일에 대해 좀 더 생각해 봅시다.
person 객체가 생성 될 때마다 우리는 그 객체에 대해이 함수를 정의해야한다.
그래서 생성자에서 100 만 개의 객체를 만들 때 동일한 높은 속성을 추가합니다.
1 백만 번은 그렇게 효율적이지 않습니다.
한 번 정의 할 수 있고 person 생성자에서 생성 된 모든 객체에서 액세스 할 수 있고 프로토 타입 속성에 메서드를 배치하면 아래 예제에서 수행 할 수 있다면 좋을 것입니다.
위에서 코드를 리팩토링하여 일단이 코드가 훨씬 효율적이고 자바 스크립트에서 객체 지향 프로그래밍을 사용하여 모범 사례를 사용한다면 말하기 기능 만 정의합니다.
이제 네 차례 야.
차량에 대한 생성자 함수를 만듭니다.
이 생성자 함수에서 생성 된 모든 객체에는 모델 작성 및 연도 속성이 있어야합니다. 각 객체에는 실행 중 false라는 속성이 있어야합니다.
Vehicle 생성자에서 생성 된 모든 객체에는 Turn on이라는 함수가 있어야합니다.이 함수는 해당 객체의 running 속성을 true로 변경합니다. 로컬 생성자에서 생성 된 모든 객체에는 실행 중 속성을 False로 변경하는 Turn off 함수가 있어야합니다.
마지막으로 차량 생성자에서 생성 된 모든 객체에는 문자열 경고음을 반환하는 honk라는 메서드가 있어야합니다.
해당 객체에서 실행중인 속성이 true 인 경우에만 해당합니다.
생성자 함수에서 생성 된 차량 객체에 대해 이러한 각 속성 및 메서드를 정의해야하는 위치를 생각하고 다음 비디오에서 해결 방법을 검토합니다.