new создаёт объект, связывает его прототип с Constructor.prototype, вызывает конструктор с this = этот объект и обычно возвращает его.
Подробности
Если конструктор явно вернул другой объект (не примитив), вернётся он. Явный return примитива игнорируется. Стрелки и некоторые callable не constructable.