javascript prototype 예제

여기서(1번과 2줄) person1과 person2모두 이름 속성이 없으므로 프로토타입 이름 속성에 액세스하므로 출력은 둘 다동일습니다. 플랜트 프로토타입에 « amIOrganic » 메서드를 추가하는 프로토타입 예제에서는 실제로 showNameAndColor 메서드를 새 프로토타입 개체와 함께 첫 번째 프로토타입 개체를 어지럽히는 것이 아닌가요? 코드를 읽으려면 실제로 두 개의 별개의 개체 리터럴 개체를 만들고 할당한 다음 Plant의 프로토타입 속성에 할당하는 것처럼 보입니다. 두 번째 할당이 실제로 메서드를 추가하는 대신 이 경우 첫 번째 할당을 방해하지 않겠습니까? 이 패턴은 Piotr Zalewa의 학교 계획 앱 예제에서 볼 수 있습니다. Plant.prototype.showNameAndColor = 기능 () { console.log (« 나는  » + this.name +  » 및 내 색상은  » + this.color); } 차이점은 함수에 메서드를 할당할 때 정적 메서드를 만드는 것과 같으며, 이는 이 함수에 연결된 메서드가 만드는 모든 새 인스턴스에 대해 다시 선언되는 반면 프로토타입을 사용하여 메서드를 만들 때 다시 선언된다는 것입니다. . 인스턴스의 프로토타입을 얻기 전에 __proto___를 사용한 것을 보았을 수 있습니다. 그것은 과거의 유물입니다. 대신 위에서 보았듯이 Object.getPrototypeOfOf(인스턴스)을 사용합니다. 그러나 myObject에서 막대를 찾지 못하면 프로토 타입 체인이 비어 있지 않으면 다시 상담하고 따릅니다. 이 프로세스는 일치하는 속성 이름이 발견되거나 프로토타입 체인이 끝날 때까지 계속됩니다. 체인이 끝날 때까지 일치하는 속성을 찾을 수 없는 경우 작업의 반환 결과가 정의되지 않습니다.

또한 상속을 명시적으로 사용하지 않는 한 개체에 추가할 때 메서드에 프로토타입 키워드를 사용하는 이유는 무엇입니까? 안녕하세요, 당신은 `첫째, 모든 자바 스크립트 함수는 프로토 타입 속성을 가지고`언급했다. 모든 JavaScript 함수에 프로토타입 속성이 있는 이유는 무엇입니까? 프로토타입을 지우는 좋은 예입니다. 의미 있는 지식을 공유해 주신 것에 감사드립니다. 안녕하세요 판 탄, 위의 예제를 알 수 있는 경우, Plant.prototype 두 번 선언 했다, 이것은 첫 번째 선언두 선언에 의해 재정의 된 의미 2 하나의 선언에 2 함수를 넣어 쉼표로 구분 하는 것입니다. 😀 Array.prototype을 로깅하기만 하면 배열의 모든 메서드를 볼 수 있습니다. Cat, Cat.prototype 및 catC의 차이점을 살펴보십시오. 이것이 보여주는 것은 고양이가 함수이지만 Cat.prototype과 catC는 객체라는 것입니다. 또한 Cat.prototype은 연령 속성(0으로 설정)을 가지며 catC에는 나이를 포함한 세 가지 속성이 있음을 보여줍니다. (계속 지켜봐 주시기 바랍니다). 함수를 정의할 때 함수 뿐만 아니라 더 많은 함수를 만들고 해당 함수를 형식으로 사용하여 새 개체를 만들고 해당 새 개체를 함수의 프로토타입 속성에 할당합니다. Cat 함수를 처음 만들었을 때 Cat.prototype.age = 0;선을 실행하기 전에 Cat의 프로토타입을 검사했더라면 속성이 없는 개체인 Cat {}이 Cat 형식입니다.

Cat.prototype.age = 0이라고 불린 후에야 비로고 고양이 {나이: 0}. SecondClass.prototype = 새 퍼스트 클래스(); 상속 방법 및 속성도 조련 된 자바 스크립트 개발자는 때때로 위의 예제에 걸려 얻을 것 이다. 앞에서 배운 의사 고전 적 패턴을 사용 하 고 있기 때문에 Animal 생성자 함수를 호출 할 때 새 키워드로 호출 해야 합니다.

By | 2019-08-02T20:31:15+00:00 août 2nd, 2019|Non classé|Commentaires fermés sur javascript prototype 예제

About the Author: