На первый взгляд в коде ниже нет ни какой разницы
function A() {
this.method = function() {
alert('Метод конструктора');
}
}
A.prototype.method2 = function() {
alert('Метод прототипа');
}
let object = new A();
Но давайте предположим, что у вас есть 1000 объектов, у каждого объекта в конструкторе есть метод который делает одно и тоже для каждого объекта. Занимает память? думаю да.
Но если мы вынесем в прототип этот метод, то метод будет всего один для каждого объекта и к нему будут вести ссылки.
С точки зрения оптимизации так будет лучше.