JavaScript | nueva palabra clave

La nueva palabra clave en JavaScript se usa para crear una instancia de un objeto que tiene una función de constructor. Al llamar a la función constructora con el operador ‘nuevo’, se toman las siguientes acciones:

  • Se crea un nuevo objeto vacío.
  • La propiedad ‘Prototipo’ interna del nuevo objeto (__proto__) se establece igual que el prototipo de la función de construcción.
  • La variable ‘esto’ apunta al objeto recién creado. Vincula la propiedad que se declara con la palabra clave ‘this’ al nuevo objeto.
  • Se devuelve un objeto recién creado cuando la función constructora devuelve un valor no primitivo (objeto JavaScript personalizado). Si la función constructora devuelve un valor primitivo, se ignorará. Al final de la función, se devuelve ‘esto’ si no hay una declaración de devolución en el cuerpo de la función.

Sintaxis:

new constructorFunction(arguments)

Parámetros:

  • ConstructorFunction: una clase o función que especifica el tipo de instancia del objeto.
  • Argumentos: una lista de valores con los que se llamará al constructor.

Ejemplo 1:

<script>
  
function Fruit(color, taste, seeds) {
    this.color = color;
    this.taste = taste;
    this.seeds = seeds;
}
  
// Create an object
const fruit1 = new Fruit('Yellow', 'Sweet', 1);
  
// Display the result
document.write(fruit1.color);
  
</script>

Producción:

Yellow

En el ejemplo anterior, la palabra clave ‘nuevo’ crea un objeto vacío. Aquí, Fruit() incluye tres propiedades ‘color’, ‘sabor’ y ‘semillas’ que se declaran con la palabra clave ‘this’. Entonces, un nuevo objeto vacío ahora incluirá todas estas propiedades, es decir, ‘color’, ‘sabor’ y ‘semillas’. Los objetos recién creados se devuelven como fruit1().

Ejemplo 2:

<script>    
  
function func() {
    var c = 1;
    this.a = 100;
}
  
// Set the function prototype
func.prototype.b = 200;
   
// Create an object
var obj = new func();
   
// Display the result
document.write(obj.a); 
   
document.write("\n");
document.write(obj.b); 
  
</script>

Producción:

100 200

En el ejemplo anterior, la palabra clave ‘nuevo’ crea un objeto vacío y luego establece la propiedad ‘prototipo’ de este objeto vacío en la propiedad prototipo de func(). La nueva propiedad ‘b’ se asigna usando func.prototype.y. Entonces, el nuevo objeto también incluirá la propiedad ‘b’. Luego vincula todas las propiedades y funciones declaradas con esta palabra clave a un nuevo objeto vacío. Aquí, func() incluye solo una propiedad ‘a’ que se declara con esta palabra clave. Entonces, el nuevo objeto vacío ahora incluirá la propiedad ‘a’. El func() también incluye la variable ‘c’ que no se declara con esta palabra clave. Entonces ‘c’ no se incluirá en el nuevo objeto. Por último, se devuelve el objeto recién creado. Tenga en cuenta que func() no incluye una declaración de retorno. El compilador insertará implícitamente ‘return this’ al final.

Publicación traducida automáticamente

Artículo escrito por geetab 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 *