En este artículo, discutiremos la diferencia entre la clase ES6 y los constructores de funciones ES5. Ambos sirven al propósito de crear nuevos objetos, aún así, tienen algunas diferencias entre ellos.
Constructores de clase ES6 : los constructores de clase ES6 funcionan de la misma manera que los constructores de clase en otros lenguajes orientados a objetos. Se utilizan para crear nuevos objetos.
Javascript
<script> class User { constructor(name, age, gender) { this.name = name; this.age = age; this.gender = gender; } print() { console.log(`${this.name} has an age of ${this.age} and gender of ${this.gender}`); } } const Roy = new User('Roy', '19', 'Male'); Roy.print(); </script>
Producción:
"Roy has an age of 19 and gender of Male"
Constructor de funciones ES5: los constructores de funciones ES5 también se utilizan para crear objetos. El ejemplo anterior se puede modificar de la siguiente manera mediante el uso de constructores de funciones.
Javascript
<script> function User(name, age, gender) { this.age = age; this.name = name; this.gender = gender; this.print = function () { console.log( `${this.name} has an age of ${this.age} and gender of ${this.gender}` ); }; } const Roy = new User('Roy', '19', 'Male'); Roy.print(); </script>
Producción:
"Roy has an age of 19 and gender of Male"
Diferencia entre la clase ES6 y los constructores de funciones ES5:
Constructores de clase ES6 | Constructores de funciones ES5 |
---|---|
Como se discutió anteriormente, los constructores de clase ES6 crean objetos agregando funciones a sus prototipos (Blueprint). | Los constructores de funciones de ES5 también crean objetos junto con la propiedad de herencia. |
Garantiza que esta palabra clave utilizada por el desarrollador se refiera al objeto que está creando el desarrollador. | Cualquier función se puede utilizar como constructor de funciones y se centra principalmente en la creación de código de creación de objetos reutilizable. |
Su sintaxis es similar a la creación de objetos en otros lenguajes de programación orientados a objetos. | Su sintaxis es única y generalmente no se encuentra en otros lenguajes de programación orientados a objetos. |
Se puede decir que esto es una base de sintaxis para funciones de constructor e instanciar objetos usando un nuevo operador. | Esto también usa un nuevo operador para la creación de objetos, pero se enfoca en cómo se instancian los objetos. |
Publicación traducida automáticamente
Artículo escrito por namancourses y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA