Interface en Javascript ES6
Este es un simple ejemplo de una implementación de una interface
entendiendo esta como una plantilla de clase
que obliga a estas a implementar determinados métodos.
// Implementación de interface como una clase a heredar | |
class Interface { | |
metodo() { | |
return new Error(`🔥 metodo no en [${this.constructor.name}]`) | |
} | |
} | |
// Funciona extiende de Interface e implementa el `metodo` | |
class Funciona extends Interface { | |
metodo () { | |
return '🤘 todo bien' | |
} | |
} | |
// NoFunciona extiende de Interface y no implementa `metodo` | |
class NoFunciona extends Interface {} | |
const f = new Funciona() | |
const n = new NoFunciona() | |
// test | |
console.log(f.metodo()) // 🤘 todo bien | |
console.log(n.metodo()) // Error: 🔥 metodo no en [NoFunciona] |