La palabra clave new
Parte de la sección Programación Orientada a Objetos del Journey de JavaScript de Coddy — lección 5 de 56.
La palabra clave new en JavaScript se utiliza para crear instancias de funciones constructoras, que actúan como plantillas para crear objetos.
Crea una función constructora para una Persona (Person):
function Person(name, age) {
this.name = name;
this.age = age;
this.greet = function() {
return "Hello, my name is " + this.name;
};
}Utiliza la palabra clave new para crear una instancia:
const john = new Person("John", 30);Después de ejecutar el código anterior, john es un objeto con propiedades y un método:
john.namees "John"john.agees 30john.greet()devuelve "Hello, my name is John"
Sin la palabra clave new, this se referiría al objeto global (o undefined en modo estricto), no a la nueva instancia.
Desafío
Crea un objeto Car e imprime su descripción
Se te proporciona una función constructora que crea objetos car. Tu tarea es:
- Crea un nuevo objeto car usando la palabra clave
new, pasa "Honda" como el nombre y 2018 como el año - Llama al método
getDescriptionen tu objeto car - Imprime el resultado en la consola
Hoja de referencia
La palabra clave new crea instancias de funciones constructoras, que actúan como plantillas para objetos.
Define una función constructora:
function Person(name, age) {
this.name = name;
this.age = age;
this.greet = function() {
return "Hello, my name is " + this.name;
};
}Crea una instancia usando new:
const john = new Person("John", 30);Accede a propiedades y métodos:
john.name // "John"
john.age // 30
john.greet() // "Hello, my name is John"Sin new, this se refiere al objeto global (o undefined en modo estricto) en lugar de a la nueva instancia.
Pruébalo tú mismo
function Car(name, year) {
this.name = name;
this.year = year;
this.getDescription = function() {
return "This is a " + this.name + " from " + this.year;
};
}
// TODO: Crea un nuevo objeto car usando la palabra clave new, pasa "Honda" como nombre y 2018 como año
// TODO: Llama al método getDescription en tu objeto car e imprime el resultado en la consola
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Programación Orientada a Objetos
1Objetos y la palabra clave this
Repaso rápido: ObjetosAgregar métodos a los objetosEntendiendo la palabra clave thisFunciones constructorasLa palabra clave newDesafío de repaso7Herencia y la palabra clave extends
HerenciaLa relación "es-un"La palabra clave extendsEl método super()Heredar propiedades y métodosDesafío de repaso13Composición vs. Herencia
La relación "tiene-un" vs. "es-un"Los límites de la herencia profundaConstrucción de objetos2Organización del código
¿Qué son los módulos?Exportar con exportImportar con importExportaciones por defecto vs. nombradas5Encapsulamiento y Acceso
EncapsulamientoCampos de clase públicos y privadosMétodos privadosDesafío de repaso8Organización del código OOP
Organizar clases en módulos11Proyecto: Un renderizador de figuras
Configuración: Clase Figura y exportaciónHerencia de la clase Círculo14Sistema de Gestión de Biblioteca
Diseño de la BibliotecaClase Libro con Composición9Métodos y propiedades estáticos
Nivel de clase vs. Nivel de instanciaPropiedades estáticasMétodos de utilidad estáticosDesafío de repaso