На MDN они заявляют следующее:JavaScript ООП концепции - Свойства
Свойства переменные, содержащиеся в классе; каждый объект объекта имеет эти свойства. Свойства должны быть установлены в прототипе property класса (функции) , чтобы наследование корректно работало.
Глядя на секциях Я настроил полужирный я предположил, что это означало:
myClass.prototype.newProperty = ...
Однако их пример показывает следующее:
function Person(firstName) {
this.firstName = firstName;
console.log('Person instantiated');
}
var person1 = new Person('Alice');
var person2 = new Person('Bob');
// Show the firstName properties of the objects
console.log('person1 is ' + person1.firstName); // logs "person1 is Alice"
console.log('person2 is ' + person2.firstName); // logs "person2 is Bob"
В своем примере они добавляя свойство 'firstName' непосредственно к классу/функции, используя 'this'.
Означает ли это:
a) Что такое объявление функции - прототип? То есть myClass - прототип, который также имеет прототип свойства, который по умолчанию установлен на Object?
b) Это использование «этого». в объявлении функции на самом деле добавить свойство к myClass.prototype
Edit: Обновлен название
Прототип является общим и обычно является поведением или неизменными элементами данных по умолчанию. this.someProp подробно описывается здесь подробно: http://stackoverflow.com/questions/16063394/prototypical-inheritance-writing-up/16063711#16063711 – HMR
Это предложение кажется мусором. Где именно они это утверждают? Либо мы пропустим его контекст, либо он должен быть исправлен. – Bergi
@Bergi Комментарий можно найти здесь: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript – Jacques