Clase 16 - JavaScript (Objetos)

Repaso general de la clase anterior

Empezamos con un resumen rapido de lo que era js, algunas de sus caracterizticas principales: es un lenguaje de tipiado dinamico, intepretado por la consola y algunos tipos de datos primitivos(Undefine, boolean, number, string, object, function, etc).

Tambien el profe Yedro hablo sobre los deadline lo cual es una fecha limite para la entrega de un producto o informe. (Asi que chicos entreguen los trabajos a tiempo)

Objetos y su diferencia con las listas

Los objetos son muy parecidos a las listas, pero tienen un uso diferente.

Las listas la vamos a usar para almacenar multiples valores de algo que no tienen que estar estrictamente relacionadas entre si, por ejemplos un conjunto de emails de una empresa, edades, etc. Mientras que los objetos lo utilizamos para guardar valores que esten relacionados, los datos de una persona, direccion, edad, sexo,etc.

¿Cómo crear objetos?

Para declarar un objeto vamos a usar los {} y vamos a asignarles campos para guardar valores:

//es muy importante que el nombre que le pongamos a nuestro objeto tenga relacion con los datos que vamos a almacenar
var mascorta ={
    //se empieza poneniendo el nombre del campo y luego la variable que vamos a guardar dentro del campo
    nombre: "Nestor",
    edad: "90",//y cada campo se separa con una coma
}

Dentro de los objetos podemos almacenar valores de cualquier tipo (string, listas, otros objetos, numeros, booleanos).

Los campos de los objetos pueden tener un nombre un poco mas complejo:

var ejemploDeCampos = {
    "un nombre mas complicado": "un valor dentro del campo", // para declarar un nombre complicado se tiene que usar las comillas
}

¿Cómo acceder a valores guardados en campos de un objeto?

Bueno muy interensante los objetos, pero se preguntaran como imprimo un campo de un objeto en especifico, de la siguiente forma:

var ejemplo = {
    "un nombre mas complicado": "valor dentro del complicado",
    nombreDelCapmo: "hola",
    campoNumero: 1,
    campoString: "un string",
    campoLista: [1,2,3,"algo"],
    campoObjeto:{
        nombre: "otro objeto",
    }
}

//primero guardamos la variable del campo en una variable
var resultado0= ejemplo.nombreDelCapmo

//y luego imprimimos la variable en la consola
console.log(resultado0)

//otra forma para mostrar un campo con un nombre dificil
var resultado1= ejemplo["un nombre mas complicado"]
console.log(resultado1)

//si queremos mostrar un campo dentro de un objeto que esta dentro de un objeto, seria de la siguiente manera.
var resultado2= ejemplo.campoObjeto.nombre
console.log(resultado2)

//lo mismo que el anterior pero con nombres complicados.
var resultado3= ejemplo["campoObjeto"]["nombre"]
console.log(resultado3)

¿Cómo agregar más campos a un objeto?

Para agregar un campo a un objeto tenemos que llamar al objeto y seguido ponemos el nombre del campo que queremos añadir, ejemplo:

var objetoMascota ={
    nombre: "Ardilla",
}

objetoMascota.habilidades = "backflip";
//los nombres complicados tambien pueden tener emojis, pero no es muy recomendado que los usen
objetoMascota["años😭😭😭😭😭"] = 13;
//y si queremos modificar el contenido de un campo, tenemos que hacer lo siguiente
objetoMascota["años😭😭😭😭😭"] = 14;

¿Cómo puedo eliminar un campo de un objeto?

para eliminar un campo de un objeto es muy sencillo, vamos a utilizar la función delete, seguido del nombre del objeto y el campo.

var objetoMascota ={
    nombre: "Ardilla",
    edad: 10,
}

delete objetoMascota.edad

for

Tambien con el profe Tehuel vimos por encima los for, los cuales tienen una sintaxis muy parecida a la de C++

var  listadoDeNumeros = [1,2,3,4]
//Este for lo que hace es imprimir por medio de la consola todo el contenido de la lista.

for (var i = 0/*creamos el indice*/; i < listadoDeNumeros.length/*lenght lo usamos para sacar la longitud de una lista*/; i++/*auto incrementamos el valor del indice*/){
    console.log(listadoDeNumeros[i])
};

Mob programming

Casi al final de la clase, implementamos un enfoque de programacion llamado Mob Programming, basicamente es una modalidad en la cual un grupo de programadores trabajan en una misma tarea, al mismo tiempo, en el mismo espacio y en la misma computadora.

El profesor Tehuel nos daba una actividad y entre todos la resolviamos, mientras que el tipeaba el codigo. algunas de las actividades que hicimos:

//devolver el numero PI

var numeroPi = () => { return Math/*por medio de la libreria Math, llamamos a la funcion pi*/.PI};

console.log("el numero PI es: ", numeroPi());

//definir una funcion que nos devuelva la inicial de la palabra
var primeraLetra = (palabra) => {
    return palabra[0]
}

console.log("La primera letra de la palabra hola es: ", primeraLetra("hola"));

//funcion que nos devuelva la ultima letra
var ultimaLetra = (palabra) => {
    return palabra[palabra.length - 1];
}

console.log("La ultima letra de la palabra hola es: ", ultimaLetra("hola"));

Conclusión

En resumen, vimos como declarar objetos, modificarlos y su diferencia con las listas y la modalidad Mob Programming. Espero que les haya quedado claro todo lo visto en este resumen. Hasta la proxima.

gif