Trabajando con objetos

El tipo objeto es una colección de datos relacionados que generalmente consta de variables y funciones. Estas variables y funciones se denominan generalmente propiedades y métodos cuando están dentro de objetos.

Cómo utilizar objetos

ver archivo "objetos.js"

Hay dos formas de crear un objeto:

  • var objeto = new Object;
  • var objeto = {}; => objeto literal


Agregando propiedades a los objetos

ver archivo "objetos.js"

Si queremos agregar propiedades:

Podemos acceder a las propiedades de un objeto a través de:
  • Notación de puntos:
    persona.nombre
    persona.edad
  • Notación de corchetes:
    persona['nombre']
    persona['edad']

Podemos actualizar los valores de un objeto:
persona.edad = 30
persona['nombre'] = 'Carlos'

Adicionalmente podemos crear miembros completamente nuevos a un objeto existente de la siguiente forma:
persona.pais = 'Canadá'
persona['apellido'] = 'Sánchez'


this

ver archivo "objetos.js"

Básicamente se refiere al objeto actual en el que se está escribiendo el código.
si dentro de persona escribimos un método de la siguiente forma:

En este caso this hace referencia al objeto persona en cuestión.




Constructores

ver archivo "objetos.js"

Es un método especial llamado en el momento de la creación de instancias.
En javascript la función sirve como el constructor del objeto, por lo que no hay necesidad de definir explícitamente un método constructor.
El constructor se usa para establecer las propiedades del objeto o para ejecutar cualquier método necesario para preparar el objeto para su uso.


Clases

ver archivo "objetos.js"

Consideradas una mejora sintáctica sobre la herencia.
Proveen una sintáxis más clara y simple para crear objetos y lidiar con la herencia.
Dos componentes:

  • Declaración de clases: Para declarar una clase se utiliza la palabra reservada class y un nombre para la clase.
  • Expresión de clases: Otra manera de definir una clase. Pueden ser nombradas o anónimas.
    Anónima:
    Nombrada:


extends

ver archivo "objetos.js"

La palabra reservada extends es usada para declaraciones o expresiones de clase para crear una clase hija.
Ejemplo:

El método constructor es un método especial para crear e inicializar un objeto creado por una clase. Sólo puede haber un método especial con el nombre "constructor" en una clase.