Trabajando con objetos
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:
-
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.