-
Notifications
You must be signed in to change notification settings - Fork 1
Objetos parte 2
¡Bienvenido a la Wiki del proyecto "Objetos parte 2"!
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;
}
}Podemos acceder al valor de la propiedad idioma a traves del medoto get lang.
get lang(){
return this.idioma;
}Podemos sobreescribir el valor de la propiedad idioma a traves del metodo set lang.
set lang(lang){
this.idioma = lang;
}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');Dentro del constructor se agrega una función.
this.nombreCompleto = function(){
return this.nombre + ' ' + this.apellido;
}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 () { }; A través de él se ingresa una propiedad para todos los objetos que formen parte de la función.
Persona3.prototype.telefono = '987654321'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));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));