¿Cómo crear un objeto en JavaScript? Con ejemplos!

¿Quieres aprender cómo crear un objeto en JavaScript? Esta habilidad es clave para trabajar con datos estructurados en tus proyectos. En este artículo, te mostraremos un ejemplo práctico, las principales características de los objetos y cómo declarar, escribir y hacer que tus objetos sean funcionales y fáciles de usar. ¡Descubre todo lo necesario para dominarlos!

como crear un objeto en javascript

1. Crear un objeto usando la sintaxis de objeto literal en JavaScript.

La sintaxis de objeto literal es la forma más sencilla y directa para crear un objeto en JavaScript. Consiste en definir un objeto usando llaves {} y especificar las propiedades y valores dentro de ellas.

1.1. Pasos para crear un objeto con objeto literal

  1. Abrir y cerrar llaves ({}):
    • Esto define un nuevo objeto.
  2. Especificar las propiedades (claves) y valores dentro de las llaves:
    • Cada propiedad tiene un nombre seguido de dos puntos :, y después su valor.
    • Las propiedades se separan por comas ,.
  3. Asignar el objeto a una variable (opcional, pero recomendado).

Ejemplo

const persona = {
    nombre: 'Manuel',
    edad: 36,
    idiomas: ['Español', 'Inglés', 'Italiano'],
    saludar: function() {
        console.log(`Hola, soy ${this.nombre} y tengo ${this.edad} años.`);
    }
};

// Acceso a propiedades
console.log(persona.nombre); // 'Manuel'
console.log(persona.idiomas); // ['Español', 'Inglés', 'Italiano']

// Llamada a un método
persona.saludar(); // 'Hola, soy Manuel y tengo 36 años.'Lenguaje del código: JavaScript (javascript)

Explicación del ejemplo

  1. Propiedades simples:
    • nombre: 'Manuel' y edad: 36 son claves con valores asociados.
  2. Propiedad con un array:
    • idiomas: ['Español', 'Inglés', 'Italiano'] muestra que las propiedades pueden tener cualquier tipo de datos como valor (números, cadenas, arreglos, objetos, funciones, etc.).
  3. Métodos:
    • saludar es un método definido como una función dentro del objeto. Utiliza this para referirse al objeto actual.
  4. Acceso:
    • Se accede a las propiedades usando la notación de punto (persona.nombre) o la notación de corchetes (persona['nombre']).

NOTA!!!! Si te animas y deseas ver el resultado de este ejemplo y de todos los que iremos proporcionando directamente desde tu PC, te invito a seguir estos pasos.

  1. Primero, revisa el punto 5 del siguiente artículo sobre como usar e instalar VSCode (este es el editor de código mas usado), donde encontrarás los pasos para crear la estructura necesaria para visualizar una página desde tu navegador predeterminado.
  2. Si entendiste correctamente este paso anterior, sabrás donde colocar el código script que te acabamos de proporcionar (arriba). Ahora, puedes visualizar el resultado, para ello puedes hacer lo siguiente:
    • Una vez abierta y visualizada la página, abre la consola del navegador presionando la tecla F12.
    • Ahora, dirígete a la pestaña que dice Console, y desde aquí podrás ver el resultado del script que hayamos introducido anteriormente.
  3. No te preocupes, estos pasos son más simples de lo que parecen!!!! Entonces… cada vez que dejemos un código de ejemplo como éste, puedes seguir estos pasos y ver los resultados por ti mismo. ¡Ojalá te animes!!!!

Link para descargar el editor de código Visual Studi Code!!

1.2. Ventajas del objeto literal

  • Simplicidad: Ideal para objetos pequeños o únicos.
  • Flexibilidad: Se puede agregar o modificar propiedades fácilmente.
  • Legibilidad: La estructura es clara y concisa.

2. Crear objetos dinámicamente mediante asignación de propiedades.

Este enfoque consiste en crear un objeto vacío primero y luego agregarle propiedades y métodos dinámicamente usando la notación de punto (.) o corchetes ([]).

Es útil cuando no conoces todas las propiedades de antemano o necesitas construir el objeto de manera incremental.

2.1. Pasos para crear objetos dinámicamente:

  1. Crear un objeto vacío:
    • Usa {} o new Object() para inicializar un objeto sin propiedades.
  2. Asignar propiedades y métodos:
    • Usa la notación de punto (obj.propiedad) o corchetes (obj['propiedad']).
  3. Definir valores:
    • Asigna valores directamente a las propiedades o métodos mientras los agregas.

Ejemplo

// Crear un objeto vacío
const persona = {};

// Agregar propiedades dinámicamente
persona.nombre = 'Manuel';
persona.edad = 36;
persona.idiomas = ['Español', 'Inglés', 'Italiano'];

// Agregar un método
persona.saludar = function() {
    console.log(`Hola, soy ${this.nombre} y hablo ${this.idiomas.length} idiomas.`);
};

// Acceder a las propiedades
console.log(persona.nombre); // 'Manuel'
console.log(persona.edad);   // 36

// Llamar al método
persona.saludar(); // 'Hola, soy Manuel y hablo 3 idiomas.'

// Agregar propiedades con notación de corchetes
persona['ocupacion'] = 'Contador';
console.log(persona.ocupacion); // 'Contador'Lenguaje del código: JavaScript (javascript)

Explicación del ejemplo

  1. Objeto vacío:
    • const persona = {}; inicializa un objeto sin propiedades ni métodos.
  2. Asignación dinámica con notación de punto:
    • persona.nombre = 'Manuel'; crea la propiedad nombre y le asigna un valor.
  3. Asignación dinámica con notación de corchetes:
    • persona['ocupacion'] = 'Contador'; permite usar nombres de propiedades que no sean identificadores válidos (por ejemplo, con espacios o caracteres especiales).
  4. Agregar métodos:
    • persona.saludar = function() {...}; define un método que se puede invocar dinámicamente.
  5. Flexibilidad:
    • Las propiedades y métodos pueden agregarse, modificarse o eliminarse en cualquier momento.

2.2. Ventajas de este método:

  • Complementario: Puede usarse junto con otras técnicas para enriquecer objetos existentes.
  • Dinámico y Flexible: Ideal para construir objetos paso a paso o basados en condiciones.
  • Adaptable: Útil cuando las propiedades no son conocidas de antemano.

3. Crear objetos usando el constructor object.

El constructor Object es una forma de crear objetos utilizando la palabra clave new. Este método permite inicializar un objeto vacío o copiar propiedades a un nuevo objeto, aunque hoy en día es menos común en comparación con el uso de objetos literales.

3.1. Pasos para crear un objeto usando el constructor Object

  1. Inicializar el objeto con new Object():
    • Esto crea un objeto vacío.
  2. Agregar propiedades y métodos al objeto:
    • Usa notación de punto (obj.propiedad) o corchetes (obj['propiedad']).
  3. Modificar o extender el objeto según sea necesario:
    • Puedes añadir más propiedades o incluso sobrescribir las existentes.

Ejemplo

// Crear un objeto vacío usando el constructor Object
const persona = new Object();

// Agregar propiedades
persona.nombre = 'Manuel';
persona.edad = 36;
persona.idiomas = ['Español', 'Inglés', 'Italiano'];

// Agregar un método
persona.saludar = function() {
    console.log(`Hola, soy ${this.nombre} y tengo ${this.edad} años.`);
};

// Acceder a las propiedades
console.log(persona.nombre); // 'Manuel'
console.log(persona.idiomas); // ['Español', 'Inglés', 'Italiano']

// Llamar al método
persona.saludar(); // 'Hola, soy Manuel y tengo 36 años.'

// Agregar propiedades adicionales
persona.ocupacion = 'Programador';
console.log(persona.ocupacion); // 'Programador'Lenguaje del código: JavaScript (javascript)

Explicación del ejemplo

  1. Creación del objeto:
    • new Object() crea un objeto vacío equivalente a {}.
  2. Agregar propiedades:
    • persona.nombre = 'Manuel'; asigna dinámicamente una propiedad al objeto.
  3. Agregar métodos:
    • persona.saludar = function() {...}; define un método que puede invocarse como parte del objeto.
  4. Modificar el objeto:
    • Puedes añadir más propiedades como persona.ocupacion = 'Programador'; en cualquier momento.

3.2. Ventajas y usos

  • Consistencia histórica: Antes de ES6, era una forma estándar de inicializar objetos.
  • Flexibilidad: Similar a los objetos dinámicos, permite añadir y modificar propiedades fácilmente.
  • Compatibilidad: Funciona en todos los navegadores modernos y antiguos.

3.3. Comparación con el objeto literal

  • Objeto literal ({}) es más conciso y preferido en la mayoría de los casos.
  • El constructor Object se usa principalmente por razones históricas o en situaciones muy específicas (como crear prototipos personalizados).

4. Crear objetos con funciones constructoras en JS y el operador new

Las funciones constructoras son un patrón clásico en JavaScript para crear múltiples objetos con una estructura similar.

Estas funciones actúan como plantillas para inicializar nuevos objetos combinando el uso de funciones constructoras y el operador new.

4.1. Pasos para crear un objeto usando una función constructora:

  1. Definir una función constructora con mayúscula inicial:
    • El nombre de la función debe comenzar con una letra mayúscula (por convención) para indicar que es un constructor.
  2. Agregar propiedades y métodos:
    • Usa la palabra clave this dentro de la función para asignar propiedades y métodos al objeto que será creado.
  3. Crear nuevas instancias del objeto usando el operador new:
    • Usa la palabra clave new seguida del nombre de la función para crear un objeto basado en el constructor.

Ejemplo

// Definir la función constructora
function Persona(nombre, edad, idiomas) {
    this.nombre = nombre; // Asignar propiedades
    this.edad = edad;
    this.idiomas = idiomas;

    // Método
    this.saludar = function() {
        console.log(`Hola, soy ${this.nombre} y tengo ${this.edad} años.`);
    };
}

// Crear instancias del objeto
const manuel = new Persona('Manuel', 36, ['Español', 'Inglés', 'Italiano']);
const maria = new Persona('María', 28, ['Español', 'Francés']);

// Acceder a las propiedades
console.log(manuel.nombre); // 'Manuel'
console.log(maria.idiomas); // ['Español', 'Francés']

// Llamar al método
manuel.saludar(); // 'Hola, soy Manuel y tengo 36 años.'
maria.saludar();  // 'Hola, soy María y tengo 28 años.'Lenguaje del código: JavaScript (javascript)

Explicación resumida del ejemplo:

  1. Función constructora:
    • function Persona(nombre, edad, idiomas) actúa como una plantilla para crear objetos con las propiedades nombre, edad e idiomas.
  2. Uso de this:
    • this.nombre = nombre; asigna el valor del argumento nombre a la propiedad nombre del nuevo objeto (que se crear posteriormente usando el constructor new) y así con cada uno de los siguientes this del ejemplo.
  3. Instancias usando el operador new (crea un objeto):
    • new Persona('Manuel', 36, ['Español', 'Inglés', 'Italiano']) crea un nuevo objeto basado en la plantilla de la función Persona.
  4. Métodos:
    • this.saludar define un método específico para cada instancia.

Aquí dejamos una explicación mas amplia del ejemplo anterior para entenderlo mejor:

1. Función constructora

La función constructora function Persona(nombre, edad, idiomas) se utiliza como una plantilla o modelo para crear objetos que comparten una estructura y un conjunto de propiedades comunes. Cada vez que se crea un nuevo objeto usando esta función, se generan las propiedades nombre, edad e idiomas con valores únicos para esa instancia.

  • Plantilla reutilizable: La función permite crear múltiples objetos con una estructura consistente pero con valores personalizados para sus propiedades.

Ejemplo:

const manuel = new Persona('Manuel', 36, ['Español', 'Inglés', 'Italiano']);
const maria = new Persona('María', 28, ['Español', 'Francés']);Lenguaje del código: JavaScript (javascript)

En este caso, manuel y maria son dos objetos diferentes creados a partir de la plantilla Persona, pero tienen datos únicos.

2. Uso de this

El uso de this dentro de la función constructora es fundamental para asignar valores a las propiedades del nuevo objeto que se está creando.

  • Asignación de Propiedades: this.nombre = nombre;
    • Esto significa que el valor del argumento nombre proporcionado al crear una instancia se asignará a la propiedad nombre del objeto recién creado.
  • Contexto de this:
    • Dentro del constructor, this apunta al nuevo objeto que está siendo creado.
    • Este contexto es proporcionado automáticamente por el operador new.

Ejemplo:

const manuel = new Persona('Manuel', 36, ['Español', 'Inglés', 'Italiano']);
console.log(manuel.nombre); // 'Manuel'Lenguaje del código: JavaScript (javascript)

Aquí, manuel.nombre es 'Manuel' porque this.nombre se asignó durante la creación del objeto.

3. Creación de instancias

El operador new es el responsable de crear un nuevo objeto basado en la función constructora.

  • Proceso Interno:
    1. Se crea un nuevo objeto vacío.
    2. Se vincula el nuevo objeto al contexto de la función constructora mediante this.
    3. Se ejecuta la función constructora, inicializando las propiedades y métodos del objeto.
    4. El nuevo objeto se devuelve automáticamente como resultado.

Ejemplo:

const manuel = new Persona('Manuel', 36, ['Español', 'Inglés', 'Italiano']);
console.log(manuel); 
// Salida:
// {
//   nombre: 'Manuel',
//   edad: 36,
//   idiomas: ['Español', 'Inglés', 'Italiano'],
//   saludar: [Function: saludar]
// }Lenguaje del código: JavaScript (javascript)

Cada vez que usas new, obtienes una instancia independiente del objeto con sus propios valores de propiedades.

4. Métodos

El método this.saludar es una función definida dentro del constructor y es único para cada instancia creada con Persona.

  • Definición del Método:
this.saludar = function() {
    console.log(`Hola, soy ${this.nombre} y tengo ${this.edad} años.`);
};Lenguaje del código: JavaScript (javascript)

Este método accede a las propiedades del objeto a través de this y realiza una acción, en este caso, imprimir un mensaje.

  • Específico Por Instancia: Cada instancia tiene su propia copia del método saludar, lo que significa que los métodos no se comparten entre instancias.

Ejemplo:

manuel.saludar(); // 'Hola, soy Manuel y tengo 36 años.'
maria.saludar();  // 'Hola, soy María y tengo 28 años.'Lenguaje del código: JavaScript (javascript)

5. Mejora del código con prototype (Opcional)

Si bien el código actual es funcional, los métodos definidos directamente en el constructor se duplican para cada instancia, lo que puede consumir más memoria. Una mejora sería usar el prototipo de la función constructora para definir métodos compartidos:

Persona.prototype.saludar = function() {
    console.log(`Hola, soy ${this.nombre} y tengo ${this.edad} años.`);
};Lenguaje del código: JavaScript (javascript)

Con este cambio:

  • El método saludar se define una sola vez en el prototipo de Persona y se comparte entre todas las instancias.
  • Esto mejora la eficiencia en memoria.

Ejemplo:

manuel.saludar(); // 'Hola, soy Manuel y tengo 36 años.'
maria.saludar();  // 'Hola, soy María y tengo 28 años.'Lenguaje del código: JavaScript (javascript)

4.2. Ventajas

  • Reusabilidad: Permite crear múltiples objetos con la misma estructura.
  • Escalabilidad: Ideal para aplicaciones que necesitan manejar muchos objetos similares.
  • Claridad: Ayuda a organizar el código en torno a plantillas bien definidas.

4.3. Desventajas

  • Los métodos definidos en el constructor se duplican para cada instancia.
    Esto puede ser ineficiente en términos de memoria. Este problema se resuelve con prototipos.

5. Crear objetos usando la sintaxis de clases (ES6)

En ES6, las clases introducen una sintaxis más moderna y legible para crear objetos y manejar herencia. Aunque son «azúcar sintáctico» sobre las funciones constructoras y prototipos, las clases simplifican la creación y organización del código.

5.1.Pasos para crear un objeto usando clases:

  1. Definir una clase:
    • Usa la palabra clave class seguida del nombre de la clase (por convención, con mayúscula inicial).
  2. Crear un constructor:
    • Usa el método especial constructor para definir las propiedades iniciales de la clase.
  3. Agregar métodos:
    • Los métodos se definen dentro de la clase y se comparten entre todas las instancias.
  4. Crear instancias de la clase:
    • Usa la palabra clave new para crear un nuevo objeto basado en la clase.

Ejemplo

// Definir la clase
class Persona {
    // Constructor para inicializar propiedades
    constructor(nombre, edad, idiomas) {
        this.nombre = nombre;
        this.edad = edad;
        this.idiomas = idiomas;
    }

    // Método para saludar
    saludar() {
        console.log(`Hola, soy ${this.nombre} y tengo ${this.edad} años.`);
    }

    // Método para listar idiomas
    listarIdiomas() {
        console.log(`Hablo: ${this.idiomas.join(', ')}`);
    }
}

// Crear instancias de la clase
const manuel = new Persona('Manuel', 36, ['Español', 'Inglés', 'Italiano']);
const maria = new Persona('María', 28, ['Español', 'Francés']);

// Acceder a las propiedades
console.log(manuel.nombre); // 'Manuel'
console.log(maria.edad);    // 28

// Llamar a los métodos
manuel.saludar();           // 'Hola, soy Manuel y tengo 36 años.'
maria.listarIdiomas();      // 'Hablo: Español, Francés'Lenguaje del código: JavaScript (javascript)

Explicación del Ejemplo

  1. Clase Persona:
    • class Persona define una plantilla para crear objetos con las propiedades y métodos necesarios.
  2. Constructor:
    • constructor(nombre, edad, idiomas) se ejecuta automáticamente al crear una nueva instancia de la clase y asigna las propiedades.
  3. Métodos compartidos:
    • Los métodos definidos dentro de la clase (saludar y listarIdiomas) se comparten entre todas las instancias, mejorando la eficiencia.
  4. Instancias:
    • new Persona('Manuel', 36, ['Español', 'Inglés', 'Italiano']) crea un nuevo objeto que sigue la estructura definida en la clase.

5.2. Ventajas

  • Legibilidad: La sintaxis es más clara y similar a otros lenguajes orientados a objetos.
  • Herencia simplificada: Facilita la creación de subclases y la extensión de funcionalidades.
  • Eficiencia: Los métodos definidos en la clase se almacenan en el prototipo, ahorrando memoria.

6. Crear objetos definiendo un prototipo y usando Object.create

El método Object.create permite crear un nuevo objeto que hereda directamente de un prototipo especificado. Esto ofrece un control detallado sobre la herencia y la estructura del objeto, sin necesidad de usar funciones constructoras o clases.

6.1. Pasos para crear un objeto usando un prototipo y Object.create

  1. Definir un prototipo:
    • Crea un objeto base con las propiedades y métodos que actuarán como prototipo.
  2. Crear un nuevo objeto:
    • Usa Object.create(prototipo) para crear un objeto que herede del prototipo.
  3. Agregar propiedades específicas:
    • Define propiedades únicas para el nuevo objeto después de crearlo.

Ejemplo

// Definir el prototipo
const personaPrototipo = {
    saludar: function() {
        console.log(`Hola, soy ${this.nombre} y tengo ${this.edad} años.`);
    },
    listarIdiomas: function() {
        console.log(`Hablo: ${this.idiomas.join(', ')}`);
    }
};

// Crear un nuevo objeto basado en el prototipo
const manuel = Object.create(personaPrototipo);

// Asignar propiedades específicas al nuevo objeto
manuel.nombre = 'Manuel';
manuel.edad = 36;
manuel.idiomas = ['Español', 'Inglés', 'Italiano'];

// Llamar a los métodos del prototipo
manuel.saludar();           // 'Hola, soy Manuel y tengo 36 años.'
manuel.listarIdiomas();     // 'Hablo: Español, Inglés, Italiano'

// Crear otro objeto basado en el mismo prototipo
const maria = Object.create(personaPrototipo);
maria.nombre = 'María';
maria.edad = 28;
maria.idiomas = ['Español', 'Francés'];

// Llamar a los métodos
maria.saludar();            // 'Hola, soy María y tengo 28 años.'
maria.listarIdiomas();      // 'Hablo: Español, Francés'Lenguaje del código: JavaScript (javascript)

Explicación del Ejemplo

  1. Prototipo personaPrototipo:
    • Contiene métodos comunes (saludar y listarIdiomas) que pueden ser compartidos por todos los objetos que lo hereden.
  2. Crear un objeto con Object.create:
    • Object.create(personaPrototipo) genera un objeto vacío que hereda directamente de personaPrototipo.
  3. Propiedades específicas:
    • Propiedades como nombre, edad e idiomas se asignan manualmente a las instancias creadas.
  4. Herencia de métodos:
    • Los métodos definidos en el prototipo son accesibles desde los objetos creados.

6.2. Ventajas

  • Control de herencia: Puedes especificar exactamente de qué prototipo hereda un objeto.
  • Ligero: No requiere funciones constructoras ni clases.
  • Flexibilidad: Ideal para casos en los que necesitas objetos con estructura sencilla pero compartiendo comportamiento.

6.3. Desventajas

  • Menos intuitivo: La sintaxis puede ser menos familiar que las clases o funciones constructoras.
  • Propiedades manuales: Las propiedades específicas deben añadirse después de la creación del objeto.

6.4. Casos de Uso

  • Este enfoque es útil cuando necesitas un objeto que comparta métodos comunes, pero sin la complejidad de clases o funciones constructoras.
  • Común en patrones como el prototipo puro o al trabajar con estructuras dinámicas.

Diferencias entre crear objetos usando funciones constructoras, clases o prototipos.

Estas tres formas para crear objetos tienen como objetivo común la creación de instancias con propiedades y métodos. Sin embargo, presentan diferencias en sintaxis, eficiencia y enfoque.

SIMILITUDES:

  • Creación de instancias: Todas permiten crear múltiples objetos con una estructura similar.
  • Propiedades y métodos: Cada instancia puede tener sus propias propiedades y compartir métodos a través de prototipos.
  • Herencia: Aunque de formas distintas, las tres permiten crear objetos que heredan propiedades y métodos de otros.

DIFERENCIAS:

  • Sintaxis:
    • Funciones constructoras: Sintaxis más clásica, pero puede ser menos legible para quienes están acostumbrados a la programación orientada a objetos.
    • Clases: Sintaxis más moderna y similar a otros lenguajes, facilitando la comprensión.
    • Prototipos: Sintaxis más directa, pero requiere un entendimiento más profundo de cómo funciona la herencia en JavaScript.
  • Eficiencia:
    • Funciones constructoras: Pueden ser menos eficientes debido a la duplicación de métodos en cada instancia.
    • Clases: Compilan a código similar a las funciones constructoras, pero la sintaxis es más concisa.
    • Prototipos: Generalmente más eficientes, ya que los métodos se almacenan en un solo lugar (el prototipo).
  • Enfoque:
    • Funciones constructoras: Enfoque más procedural, similar a la creación de funciones.
    • Clases: Enfoque más orientado a objetos, con una sintaxis más cercana a otros lenguajes OOP.
    • Prototipos: Enfoque más basado en prototipos, donde los objetos heredan directamente de otros objetos.

¿CUÁL ELEGIR?

La elección del método depende del contexto y de tus preferencias personales:

  • Funciones constructoras: Ideal para proyectos más pequeños o si prefieres un enfoque más procedural.
  • Clases: Ideal para proyectos grandes y complejos, donde la legibilidad y la organización son importantes.
  • Prototipos: Ideal si necesitas un control fino sobre la herencia y la estructura de los objetos, o si prefieres un enfoque más basado en prototipos.

RESUMEN:

En resumen, las tres formas son válidas y tienen sus ventajas y desventajas. La elección de una u otra dependerá de tus necesidades específicas y de tu estilo de programación.

En general, las clases son la opción más recomendada para la mayoría de los casos debido a su sintaxis más clara y su mayor facilidad de uso. Sin embargo, es importante comprender los fundamentos de las funciones constructoras y los prototipos para poder tomar decisiones informadas.

7. Preguntas frecuentes y resumen sobre cómo se crea un objeto en JS.

Un objeto literal se crea usando llaves {} y permite definir propiedades y métodos. Ejemplo: let persona = { nombre: "Juan", edad: 30, saludar() { return "Hola, soy " + this.nombre; } };. Es la forma más directa y común de crear objetos en JavaScript.

Se usa new Object() para crear un objeto vacío y luego se agregan propiedades manualmente. Ejemplo: let persona = new Object(); persona.nombre = "Ana"; persona.edad = 25;. Es menos usado que la sintaxis literal, pero es una alternativa válida.

Se usa Object.create(proto) para crear un objeto con un prototipo definido. Ejemplo: let base = { tipo: "humano" }; luego let persona = Object.create(base); persona.nombre = "Luis";. Así, el objeto persona hereda las propiedades del prototipo base.

Se pueden definir propiedades dentro de un objeto literal. Ejemplo: let coche = { marca: "Toyota", modelo: "Corolla", año: 2023 };. También puedes usar Object.assign() para copiar propiedades o una clase para estructurar el objeto con valores iniciales.

Se puede crear un objeto vacío con let obj = {}; o let obj = new Object();. Luego, puedes agregar propiedades dinámicamente: obj.nombre = "Carlos"; obj.edad = 40;. Esto permite estructurar un objeto sin definir sus valores de antemano.

Un objeto con métodos se define agregando funciones dentro de él. Ejemplo: let persona = { nombre: "Ana", saludar() { return "Hola, soy " + this.nombre; } };. Para llamarlo: persona.saludar();. Los métodos permiten encapsular lógica dentro del objeto.

Se usa la sintaxis de class: class Persona { constructor(nombre) { this.nombre = nombre; } }. Luego, para crear una instancia: let juan = new Persona("Juan");. Las clases permiten reutilizar código y estructurar objetos de manera más organizada.

Deja un comentario

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