The set* methods don't "convert to epoch number", they modify the date's internal time value and return the modified value. The date object is still a date.
let today = new Date();
today.setHours(0,0,0,0); // Start of day
let tvToday = +today;
let tomorrow = new Date(today);
// setDate adjusts the time value and returns it
let tvTomorrow = tomorrow.setDate(tomorrow.getDate() + 1);
console.log('Today\'s date: ' + today.toDateString());
console.log('Today\'s time value: ' + tvToday);
console.log('Tomorrow\'s date: ' + tomorrow.toDateString());
console.log('Tomorrow\'s time value: ' + tvTomorrow);
// May vary from 24 by up to 1 hour depending on crossing DST boundaries
console.log('Difference in hours: ' + ((tvTomorrow - tvToday)/3.6e6));
If you want a method that adds a day and returns a new Date object, write a function, maybe named addDays, that takes a date and number of days to add and returns a new Date object with the days added. Lots of libraries have such functions, they're not hard to write.