¿A qué se refiere const halley=...? ¿Está almacenando el nuevo objeto creado? ¿O es en sí mismo un objeto nuevo? ¿Y qué significa el Perro después de la nueva palabra clave? ¿Clase o constructor?
class Dog { constructor(name) { this.name = name; this.behavior = 0; } } const halley = new Dog('Halley'); // Create new Dog instance console.log(halley.name);En JavaScript, una función constructora es una función diseñada para usarse con la new palabra clave para crear instancias de un tipo de objeto. Por lo general, asignaría algo a su propiedad de prototype para definir las propiedades que heredaría la instancia.
La palabra clave class es una característica nueva que permite la creación de una función constructora y su prototipo asociado utilizando una sintaxis que se parece más a la sintaxis OO tradicional en otros lenguajes de programación.
El valor asignado a Dog es tanto una clase como una función constructora.
Esta parte define la clase. Una clase es como una receta para hacer objetos. Un constructor es un método de una clase que define cómo crear nuevas instancias (objetos):
class Dog { constructor(name) { this.name = name; this.behavior = 0; } }Esta parte crea una instancia (objeto) de la clase Perro:
const halley = new Dog('Halley');