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.
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.
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.
Aquí unos datos interesantes sobre objects en JavaScript:
.
Los objetos son una estructura de datos que nos permiten almacenar y acceder a información de manera eficiente. En JavaScript, los objetos son una colección de propiedades con sus respectivos valores.
.
Las propiedades son las características que definen a un objeto. Pueden ser de diferentes tipos de datos como strings, number, boolean, entre otros. Además, pueden ser anidadas, lo que significa que una propiedad puede tener su propio objeto como valor.
.
Los métodos son funciones que se asocian a un objeto y se ejecutan cuando se invocan. Estas funciones pueden acceder a las propiedades del objeto y modificarlas o realizar alguna acción específica.
.
Una de las características más interesantes de los objetos en JavaScript es que se pueden agregar y eliminar propiedades en tiempo de ejecución. Esto significa que podemos modificar la estructura del objeto en cualquier momento, lo que lo hace muy flexible y dinámico.
.
Existen varios métodos en JavaScript que nos permiten trabajar con objetos de manera más eficiente, como por ejemplo:
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 juanthis.approvedCourses.push(newCourse);}};
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 💪