Objetos
Clase 18 de 99 • 30 días de JavaScript
Contenido del curso
Clase 18 de 99 • 30 días de JavaScript
Contenido del curso
Los objetos en JavaScript son un tipo de dato que permite almacenar una colección de pares clave-valor. Estos pares representan las propiedades y sus valores correspondientes de un objeto. Los objetos son similares a los arrays en cuanto a que también son una forma de almacenar y manejar datos, pero en lugar de tener un índice numérico, tienen una clave de string.
La sintaxis para crear un objeto es la siguiente:
const miObjeto = { clave1: valor1, clave2: valor2, clave3: valor3 };
Por ejemplo, el siguiente código crea un objeto llamado "curso" que tiene cinco propiedades: "Clases", "Duración", "Nombre", “detalles” y comentarios:
const curso = { nombre: "30 días de JS", duración: "20 horas", clases: 100, detalles: { tecnologias: ["js", "node", "web browser"], calificacion: 5, }, comentarios: ["¡Excelente curso!", "Javscript no es lo mismo que Java", "hola"] };
Para acceder a las propiedades de un objeto, se utiliza la notación de punto o la notación de corchetes. Por ejemplo, para acceder al nombre del curso anterior se utilizaría la siguiente sintaxis:
console.log(curso.nombre); // "30 días de JS" console.log(curso["nombre"]); // "30 días de JS"
Además de las propiedades, los objetos también pueden tener métodos, que son funciones asociadas a un objeto. Por ejemplo, el siguiente código crea un objeto "carro" con una propiedad "marca" y un método "encender":
let carro = { marca: "Toyota", encender: function() { console.log("El carro ha sido encendido"); } };
Para llamar a un método de un objeto, se utiliza la notación de punto. Por ejemplo:
carro.encender(); // "El carro ha sido encendido"
JavaScript también tiene una característica llamada prototype, que permite agregar propiedades y métodos a un objeto de forma dinámica. Esto permite a los desarrolladores crear nuevos objetos a partir de objetos existentes y heredar sus propiedades y métodos, pero esto lo verás mucho más adelante, por el momento no tienes de que preocuparte.
Todo esto y más lo puedes aprender en el Curso Básico de JavaScript
Julian Roa Villamil
Leonardo de los angeles Espinoza Hernandez
Luis Gomero
Luis Castro
Walther Yesid Piedrahita Ortiz
Leonardo de los angeles Espinoza Hernandez
Ricardo Alfonso Chavez Vilcapoma
Jose Maldonado
Santiago Tomatis
Leonardo de los angeles Espinoza Hernandez
Federico Guillermo Moreira Tejera
Leonardo de los angeles Espinoza Hernandez
los objetos también pueden guardar funciones?!?! 🤯🤯🤯 No lo sabía, una nueva cosa que aprendo hoy
Yes, una vez lleguemos al tema de programación orientada a objetos verás que es de lo más común 🔥
Un lenguaje de programación (JS) se dice que tiene Funciones de primera clase cuando las funciones en ese lenguaje son tratadas como cualquier otra variable. Por ejemplo, en ese lenguaje, una función puede ser pasada como argumento a otras funciones, puede ser retornada por otra función y puede ser asignada a una variable.
https://developer.mozilla.org/es/docs/Glossary/First-class_Function
Aquí unos datos interesantes sobre objects en JavaScript:
.
strings, number, boolean, entre otros. Además, pueden ser anidadas, lo que significa que una propiedad puede tener su propio objeto como valor.
.Object.keys() que nos permite obtener un array con las claves de todas las propiedades de un objeto.Object.values() que nos permite obtener un array con los valores de todas las propiedades de un objeto.Object.entries() que nos permite obtener un array con los pares clave-valor de todas las propiedades de un objeto.Aún me sigue sorprendiendo este curso... Cada vez que leo una definición aquí, la entiendo de una.
La explicación es tan simple y directa que no se requiere tener un amplio conocimineto en JS para comprenderla.
Gracias por ello @LeoCode0
¡Gracias a ti por los comentarios! (este es el primero de muchos 🤫)
Cualquier detalle que pienses que podemos implementar para seguir mejorando este tipo de contenido me lo puedes hacer saber para seguir trayéndote una mejor experiencia💪
Un método también puede definirse así:
const rica = { name: "Ricardo", approvedCourses: ["Curso 1"], addCourse(newCourse) { // `this` se usa para hacer referencia al objeto juan this.approvedCourses.push(newCourse); } };
en la explicacion dice clave1: valor
pero en el ejemplo veo
detalles: { tecnologias: ["js", "node", "web browser"],^
tecnologia es un array por lo que puedo indentificar, entonces valor puede ser cualquier cosa, como por ejemplo un array?
o detalles: clave
{ tecnologias: es valor ["js", "node", "web browser"] : valores del valor ?.
alguien sabe en que curso se ve lo de prototype?
Me llamo la atención que un objeto en JS puede almacenar un método, si fuera un objeto persona, hablar podría sea un método similar a encender del objeto carro?
Así es, más adelante cuando lleguemos al tema de programación orientada a objetos explotaremos estas capacidades 💪