Зачем устанавливать свойство как для функции, так и для ее прототипа?

Я пытался понять ООП модель JavaScript, поэтому я читал эту статью:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript

Следующий код был интересным:

function Person(gender) {
    this.gender = gender;
    alert('Person instantiated');
}

Person.prototype.gender = '';
var person1 = new Person('Male');
var person2 = new Person('Female');
//display the person1 gender
alert('person1 is a ' + person1.gender); // person1 is a Male

Что было интересно и не понятно мне, так это строка:

Person.prototype.gender = '';

Я не понял, поэтому я тестировал код как с этой строкой, так и без нее.

Код работает нормально в обоих условиях.

Итак, мой вопрос:

Почему автор добавил эту строку?

Ответы на вопрос(1)

Ваш ответ на вопрос