Как правило, вы хотите определить методы объекта в прототипе класса, чтобы их не нужно было повторно создавать каждый раз, когда вы создаете новый экземпляр класса, например ::
.
function Student1(first,last) {
this.firstName = first;
this.lastName = last;
}
Student1.prototype.display = function() {
return this.firstName + " " + this.lastName;
}
const harry = new Student1("Harry", "Potter");
document.querySelector("div").innerHTML = harry.display();
Если вы просто вернете (анонимный) объект, у него не будет прототипа, и вам придется определять функцию каждый раз, когда вызывается функция построения.
Также в вашем примере:
harry instanceof Student1 // true
ron instanceof Student2 // false
Так что вы не можете использовать instanceof.