Para mim não ficou claro qual é a vantagem do data-attributes em relação a class. Eles não fazem exatamente a mesma coisa?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Para mim não ficou claro qual é a vantagem do data-attributes em relação a class. Eles não fazem exatamente a mesma coisa?
Oi Rodrigo, tudo bem?
Sim, basicamente fazem a mesma coisa. Mas existem alguns motivos que fazem o data-attributes:
Tem o motivo da convenção: Ao longo da sua jornada de aprendizado em programação, você vai ouvir sobre convenção. O que quer dizer que: podemos fazer a mesma coisa de maneiras diversas, contudo, existe uma que a comunidade adotou como sendo a maneira correta, e é importante se acostumar a utilizar essas convenções, porque no futuro vai ser bem importante. Por exemplo, ao entrar em uma empresa e trabalhar em um projeto com outras pessoas, elas já esperam que você conheça e utilize essas convenções, pois fica bem mais fácil de uma dar manutenção no código da outra pessoa, já que todas seguem as convenções.
E também evitar erros: supondo que no seu projeto existem dois botões, um de entrar e outro de cadastrar, e os dois utilizam a mesma estilização, e então, a mesma classe. Veja que se você utiliza a classe para percorrer o DOM, pode causar erros, já que os botões possuem propósitos diferentes, mas visualmente são iguais. Podemos adicionar uma nova classe em cada um dos botões para fazer a diferenciação? Sim, mas a medida que seu projeto vai expandindo, você começa a se perder nas informações, e não sabe se aquela classe está sendo utilizada somente para questão de estilo, ou se é só para o DOM, ou ainda, se é para as duas coisas. E assim começa a ficar extremamente confuso (para você e outras pessoas principalmente) e demorado para dar manutenção no seu projeto.
Para finalizar irei deixar esse Alura+ sobre Como funciona o data-attributes.
Um abraço e bons estudos.