No meu caso coloquei o this.value ao invés de criar uma const, tem algum problema em ser feito dessa forma?
const botoes = document.querySelectorAll('.btn');
botoes.forEach(btn => btn.addEventListener('click', filtrarLivos));
function filtrarLivos() {
const elementoBtn= document.getElementById(this.id)
let livrosFiltrados = livros.filter(livro => livro.categoria == this.value);
console.table(livrosFiltrados)
}