При объявлении методов внутри конструктора на каждый экземпляр будет создаваться новая функция-метод - будет жрать память, да и конструктор будет работать медленнее (обычно не заметно) + такие методы нельзя будет унаследовать не вызвав конструктор.
При объявлении метода через прототип у Вас будет 1 функция на все экземпляры, включая те, что отнаследовались от Вас, наследоваться можно будет без вызова конструктора + методы не будут собственными для экземпляра, что снизит кол-во ошибок
Так что правильно через прототип