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] |