Как работает функция `requestAnimationFrame()` в JavaScript и какие у неё преимущества перед альтернативными методами синхронизации вроде `setTimeout()` и `setInterval()`? — ДейлиПреп