Можешь объяснить ключевые различия между стрелочными функциями и традиционными объявлениями функций в JavaScript, особенно в отношении синтаксиса, поведения привязки `this` и сценариев их использования? — ДейлиПреп