Que abordagens existem em JavaScript para reutilização de código sem usar herança prototípica?
sobes.tech IA
Resposta da IA
Em JavaScript, para reutilizar código sem herança prototípica, frequentemente utilizam-se as seguintes abordagens:
-
Funções de ordem superior e composição de funções — criar funções pequenas que podem ser combinadas para obter o comportamento desejado.
-
Mixins — objetos ou funções que adicionam funcionalidades a outros objetos através da cópia de propriedades.
-
Decoradores — funções que envolvem outras funções, expandindo o seu comportamento.
-
Módulos — separar o código reutilizável em ficheiros ou espaços de nomes distintos.
-
Classes com composição em vez de herança — incluir objetos como propriedades em vez de herdar.
Exemplo de um mixin:
const canEat = {
eat() {
console.log('A comer');
}
};
const canWalk = {
walk() {
console.log('A caminhar');
}
};
function createPerson(name) {
let person = { name };
return Object.assign(person, canEat, canWalk);
}
const person = createPerson('João');
person.eat(); // A comer
person.walk(); // A caminhar
Desta forma, a reutilização é alcançada através de composição e união de funcionalidades, e não através de herança prototípica.