В чём отличия между .addEventListener() и .onclick = function() в JS?
addEventListener добавляет отслеживание любого события, которое укажешь, а onclick - только клики. Поэтому что использовать - зависит от задачи.
Кроме того, второй способ позволяет повесить только один обработчик события (следующий будет перезатирать предыдущий), в то время как первый - сколько угодно.
.onclick иногда удобнее программисту - не надо вызывать конструктор, уже есть готовое свойство
сравни псевдокод:кнопка.онклик = функция_обработчик
кнопка.функция_добавить_онклик( тип_онклика, функция_обработчик )