Можешь объяснить IntersectionObserver API в JavaScript, включая его основные случаи использования и преимущества производительности по сравнению с традиционными слушателями scroll событий? — ДейлиПреп