Diferencias entre la clase ES6 y los constructores de funciones ES5

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *