Skip to content

Instantly share code, notes, and snippets.

@fitorec
Last active October 29, 2021 13:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fitorec/ad4421ee0057f0ad32c6c21df099a513 to your computer and use it in GitHub Desktop.
Save fitorec/ad4421ee0057f0ad32c6c21df099a513 to your computer and use it in GitHub Desktop.

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]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment