Skip to content

Objetos parte 2

Fernando Calisaya edited this page May 29, 2023 · 3 revisions

Wiki sobre el proyecto "Objetos parte 2"

¡Bienvenido a la Wiki del proyecto "Objetos parte 2"!

Descripción del proyecto

El proyecto "Objetos parte 2" es un proyecto desarrollado en JavaScript. El objetivo principal del proyecto es demostrar cómo trabajar con objetos y utilizar sus propiedades y métodos. Puedes ver la wiki de la primer parte del proyecto "Objetos" aqui.

Para empezar declaramos un objeto 'persona' con sus metodos y propiedades:

let persona = {
  nombre: 'Carlos',
  apellido: 'Gil',
  email: 'cgil@gmail.com',
  edad: 30,
  idioma: 'es',
  nombreCompleto: function(){
    return this.nombre + ' ' + this.apellido;
  }    
}

Metodo GET:

Podemos acceder al valor de la propiedad idioma a traves del medoto get lang.

get lang(){
  return this.idioma;
}

Metodo SET:

Podemos sobreescribir el valor de la propiedad idioma a traves del metodo set lang.

set lang(lang){
  this.idioma = lang;
}

Constructor:

Es una función especial que se trabajará con objetos en JavaScript. Para llamar una función constructor se utilizará la palabra reservada new lo que reservará espacio en memoria del objeto que se creará. Se recomienda que el nombre de la función empiece co mayúscula.

function Persona3(nombre, apellido, email){
  this.nombre = nombre; 
  this.apellido = apellido;
  this.email = email;
}

let padre = new Persona3('Leo', 'Lopez', 'lopez@gmail.com');

Agregar metodos al constructor del objeto

Dentro del constructor se agrega una función.

this.nombreCompleto = function(){
  return this.nombre + ' ' + this.apellido;
}

Distintas formas de crear un objeto.

let miObjeto = new Object(); 
let miObjeto2 = {};

let miCadena1 = new String('Hola');
let miCadena2 = 'Hola';

let miNumero = new Number(1);
let muNumero = 1;

let miBoolean1 = new Boolean(false);
let miBoolean2 = false;

let miArreglo1 = new Array();
let miArreglo2 = [];

let miFuncion1 = new function () { }; 
let miFuncion2 = function () { }; 

Uso del prototype

A través de él se ingresa una propiedad para todos los objetos que formen parte de la función.

Persona3.prototype.telefono = '987654321'

Uso del call

Esta función permite llamar un método que está definido en un objeto desde otro objeto.

let persona4 = {
    nombre: 'Juan',
    apellido: 'Perez',
    nombreCompleto2: function(titulo, telefono){
        return titulo +': '+this.nombre+' '+this.apellido+' '+telefono;
    }
}

let persona5 = {
    nombre: 'Carlos',
    apellido: 'Lara'
}

console.log(persona4.nombreCompleto2('Lic.',123456789));
console.log(persona4.nombreCompleto2.call(persona5, 'Ing.', 987654321));

Uso del apply

Este método nos permite llamar a un método que no se encuentra definido en cierto objeto. La única diferencia entre call y Apply es que a call se le pasan directamente los argumentos y Apply va necesitar que tengamos a disposición un arreglo en el que estarán ingresados como elementos de ese arreglo los argumentos necesarios para el método que los está requiriendo.

let arreglo = ['Ing', '54962476472'];
console.log(persona4.nombreCompleto2.apply(persona5, arreglo));

Clone this wiki locally