Чи існує якась особлива перевага / недолік у споживанні пам'яті JavaScript між використанням location.href = url на відміну від location.assign (url)?
НІ
Існує рівно нульова різниця.
Причина цього проста. Щоразу, коли ваш браузер завантажує нову сторінку, він запускає нову нову Javascript 'VM' зі сценаріями для цієї сторінки, що працюють у цій VM. Під час запуску будь-якого з тверджень у вашому запитанні ви вказуєте браузеру завантажувати нову сторінку, що означає знищення поточної ВМ (і звільнення будь-якої пов’язаної з нею пам’яті) та завантаження абсолютно нової ВМ для нової сторінки.
За винятком будь-яких дивних помилок браузера, чистий ефект завжди однаковий. Ваші сценарії працюють у новій віртуальній машині з точно таким самим споживанням пам'яті.
Якщо ви працюєте з об'єктом розташування у браузері і хочете мати можливість запустити цей код на Node JS (наприклад, для тестування або для ізометричного коду), ви можете використовувати ulocationуніверсальну / ізометричну реалізацію об'єкта Location. Повна інформація: Я автор цього пакету.