No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Objects

22/29
Recursos

Un objeto es una estructura de datos que permite almacenar valores mediante propiedad - valor a trav茅s de la sintaxis de llaves ({}) y separados por comas.

En las propiedades del objeto es opcional colocar las comillas. En el caso de que haya espacios, es obligatorio.

var objeto = {
    clave1: "valor1",
   "clave 2": "valor2",
}

Excepto por los primitivos y las funciones, todo es un objeto en JavaScript.

Qu茅 son los atributos y m茅todos

En programaci贸n orientada a objetos, un objeto es una representaci贸n de la realidad, en el cual sus caracter铆sticas propias se definen como atributos y sus acciones se definen como m茅todos.

En otras palabras, los atributos son las variables y los m茅todos son las funciones propias de cada objeto.

Por ejemplo, definamos el objeto miAuto. Se coloca entre comillas la propiedad a帽o porque el lenguaje no admite caracteres especiales del espa帽ol. Aunque en ciertas situaciones si admite.

var miAuto = {
    marca: "Toyota",
    modelo: "Corolla",
    "a帽o": 2020,
    detalle: function () {
        console.log("Es un auto")
    }
}

Las propiedades marca, modelo y "a帽o" son los atributos del objeto miAuto. La propiedad detalle es un m茅todo del objeto miAuto.

C贸mo acceder a los valores de un objeto

A diferencia de los arrays, 煤nicamente es necesario saber la propiedad del objeto para acceder a su valor.

Existen tres formas para acceder al valor de un objeto:

  • Mediante la notaci贸n de corchetes
  • Mediante la notaci贸n de punto

Qu茅 es la notaci贸n de corchetes

La notaci贸n de corchetes ya ese familiar para ti, similar a los arrays, indicamos entre corchetes la propiedad del objeto entre comillas.

objeto["propiedad"]

Por ejemplo, accedamos a las propiedades del objeto miAuto creado anteriormente.

miAuto["marca"] // "Toyota"
miAuto["modelo"] // "Corolla"
miAuto["a帽o"] // 2020
miAuto["detalle"] // 茠 detalle()

Observa que cuando accedes a un m茅todo, 煤nicamente muestra la funci贸n, esto sucede porque la propiedad guarda dicha funci贸n que a煤n no es ejecutada. Para ejecutarla hay que utilizar los par茅ntesis.

miAuto["detalle"]() // "Es un auto"

Finalmente, ten cuidado con las comillas, si nos las usas, est谩s haciendo referencia a una variable. En este caso existir谩n tres posibilidades:

  • Si existe la variable y su valor coincide con una propiedad del objeto, entonces mostrar谩 su respectivo valor.
  • Si existe la variable, pero su valor no coincide con una propiedad del objeto, entonces mostrar谩 undefined.
  • Si no existe la variable, entonces mostrar谩 un error de referencia.
var propiedad1 = "marca"
miAuto[propiedad1] // "Toyota"

var propiedad2 = "nombre"
miAuto[propiedad2] // undefined

miAuto[modelo] // ReferenceError: modelo is not defined

Qu茅 es la notaci贸n de punto

La notaci贸n de punto indicamos con un punto la propiedad del objeto. Si existen espacios, la 煤nica forma de acceder a esa propiedad es mediante la notaci贸n de corchetes.

objeto.propiedad

Por ejemplo, accedamos a las propiedades del objeto miAuto creado anteriormente.

miAuto.marca // "Toyota"
miAuto.modelo // "Corolla"
miAuto.a帽贸 // 2020
miAuto.detalle // 茠 detalle()

Igualmente, para ejecutar el m茅todo hay que utilizar los par茅ntesis.

miAuto.detalle() // "Es un auto"

Los arrays tambi茅n son objetos

La notaci贸n punto te debe de parecer familiar, ya que as铆 us谩bamos los diferentes atributos y m茅todos de los arrays, como length o map.

Esto es debido a que los arrays tambi茅n son objetos en JavaScript. Por esta raz贸n, tambi茅n podemos utilizar la notaci贸n de corchetes, pero no es recomendable.

var array = [1, 2, 3]
array["length"] // 3
var newArray = array["map"](function (el) {
  return el * 2
})
newArray // [2,4,6]

C贸mo a帽adir propiedades de un objeto

Para a帽adir propiedades de un objeto, utilizamos la notaci贸n de corchetes o de punto con la nueva propiedad, asign谩ndole su respectivo valor.

Por ejemplo, a帽adamos la propiedad color del objeto miAuto.

miAuto["color"] = "rojo"
// o 
miAuto.color = "rojo"

console.log(miAuto)
/* {
  marca: 'Toyota',
  modelo: 'Corolla',
  'a帽o': 2020,
  detalle: 茠 detalle(),
  color: 'rojo'  <---- nueva propiedad
} */

C贸mo modificar propiedades de un objeto

Para modificar propiedades de un objeto, utilizamos la notaci贸n de corchetes o de punto con la propiedad espec铆fica, asign谩ndole su nuevo valor.

Por ejemplo, modifiquemos la propiedad marca, de "Toyota" a "Ford", del objeto miAuto.

miAuto["marca"] = "Ford"
// o 
miAuto.marca = "Ford"

console.log(miAuto)
/* {
  marca: 'Ford', <--- Cambi贸 de valor
  modelo: 'Corolla',
  'a帽o': 2020,
  detalle: 茠 detalle(),
} */

C贸mo eliminar propiedades de un objeto

Para eliminar propiedades de un objeto, utilizamos la palabra reservada delete seguido de la propiedad del objeto.

Por ejemplo, eliminemos la propiedad marca del objeto miAuto.

delete miAuto["marca"]
// o 
delete miAuto.marca

console.log(miAuto)
/* { 
  modelo: 'Corolla', <--- No existe la propiedad marca
  'a帽o': 2020,
  detalle: 茠 detalle(),
} */

El objeto contexto this

En JavaScript, el objeto contexto this hace referencia a diferentes valores seg煤n su contexto de ejecuci贸n. Como es un tema complejo de programaci贸n orientada a objetos, no profundizar茅.

En objetos, el contexto this hace referencia al propio objeto. Esto sirve para acceder a los atributos y m茅todos propios del objeto.

Por ejemplo, cambiemos la funci贸n detalle del objeto miAuto para mostrar un mensaje personalizado.

var miAuto = {
    marca: "Toyota",
    modelo: "Corolla",
    "a帽o": 2020,
    detalle: function () {
        console.log(`Auto ${modelo} del ${a帽o}.`)
    }
}

miAuto.detalle() //ReferenceError: modelo is not defined

Si ejecutamos la funci贸n miAuto.detalle() mostrar谩 un error de referencia, que modelo no est谩 definido.

Hagamos un peque帽o cambio, utilicemos la notaci贸n de punto para acceder a los valores de la propiedad.

var miAuto = {
  //...
  detalle: function () {
    console.log(`Auto ${miAuto.modelo} del ${miAuto.a帽o}.`)
  },
}

miAuto.detalle() // 'Auto Corolla del 2020.'

隆Funcion贸! Sin embargo, necesito crear otro objeto con el mismo c贸digo.

var otroAuto = {
    marca: "Toyota",
    modelo: "Corolla",
    "a帽o": 2020,
    detalle: function () {
    console.log(`Auto ${miAuto.modelo} del ${miAuto.a帽o}.`)
  },
}

otroAuto.detalle() //ReferenceError: miAuto is not defined

Ahora muestra nuevamente un error de referencia del objeto miAuto. 驴Pero cambio miAuto por otroAuto y problema resuelto? S铆, pero como programador no debemos cambiar manualmente el c贸digo que puede ser reutilizado.

Realicemos otro cambio, utilicemos el objeto contexto this para hacer referencia a nuestro objeto.

var miAuto = {
  //...
  detalle: function () {
    console.log(`Auto ${this.modelo} del ${this.a帽o}.`)
  },
}

miAuto.detalle() //'Auto Corolla del 2020.'

隆Funcion贸! Ahora creemos otro objeto.

var otroAuto = {
  // ...
  detalle: function () {
    console.log(`Auto ${this.modelo} del ${this.a帽o}.`)
  },
}

otroAuto.detalle() //'Auto Corolla del 2020.'

隆Volvi贸 a funcionar! Ahora podremos crear varios objetos sin cambiar una y otra vez la referencia al objeto this. En el objeto miAuto, this es igual a miAuto; mientras que en el objeto otroAuto, this es igual a otroAuto. Por eso podemos acceder a los atributos y m茅todos, independientemente del objeto creado.

Crear varios objetos a partir de un c贸digo base se denomina crear una instancia.

Contribuci贸n creada por Andr茅s Guano (Platzi Contributor).

Aportes 429

Preguntas 51

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Objetos: JS es un lenguaje que est谩 dise帽ado en un paradigma de objetos.

Ejemplo de Objeto:

var miAuto = {
marca: "Toyota",
modelo: "Corolla",
a帽o: 2020
}

Acceder a una propiedad del objeto:

miAuto.marca 
// "Toyota"

Se pueden agregar propiedades que van a ser una funci贸n, se les llama m茅todos de objetos.

var miAuto = {
marca: "Toyota",
modelo: "Corolla",
a帽o: 2020, 
detallesDelAuto: function () {
	console.log(`Auto ${this.modelo} ${this.a帽o}`);
}

// miAuto.detallesDelAuto();
//Auto Corolla 2020

驴Qui茅n es this?
Es una variable que hace referencia al objeto. En este caso: this = miAuto.

Para palabras mas sencillas鈥
Un objeto en programaci贸n es una representaci贸n abstracta de un objeto en la vida real, sin embargo tambi茅n puede entenderse como un contenedor de datos.
Ejemplo:
Una botella de refresco tiene ciertas caracter铆sticas y acciones.-
Caracter铆sticas: altura, volumen, color, contenido, dureza etc鈥
Acciones: beber, reciclar, rehusar, aventar, abrir tapa, etc鈥

Respectivamente a estas caracter铆sticas y acciones se les conoce como atributos(caracter铆sticas) y m茅todos(acciones) en programaci贸n.

Los objetos son usados para almacenar ciertos datos que de otra manera ser铆an muy sensibles al hackeo, por otro lado un objeto tambi茅n puede ser el valor de una variable.

A modo de adelanto una clase a su vez es un molde que puede almacenar objetos y esta tambi茅n como el objeto tiene atributos y m茅todos que puede heredar a cada uno de esos objetos conocida esta propiedad como herencia, en base a eso la clase this, es la clase principal desde la cual se ejecuta javascript a modo de ejemplo puedes consultar en consola del navegador console.log(this); y te dar谩s una mejor idea.

Un saludo a todos.馃槂馃槂馃槂馃槂馃槂馃槂

Hay cosas que el no menciona que creo son importantes.

  • los key values se representan como string para JS esto quiere decir que si colocan una propiedad por ejemplo marca : 鈥渢oyota鈥 es lo mismo decir 鈥渕arca鈥 : 鈥渢oyota鈥

  • Debido a que los key values JS los interpreta como strings significa que tambien pueden acceder a una propiedad usando llaves y dentro especificando el key value

  • Lo que menciono anterior mente lo digo por que por ejemplo si colocan un key value tipo numero, no van a poder acceder a esta propiedad de la forma tradicional.


Ahora converti el juego en un Objeto

var piedrasPapelTijeras = {
  // Marcador del juego
  puntoMaquina: 0,
  puntoUsuario: 0,

  mostrarMarcador: function () {
    console.log(`Maquina: ${this.puntoMaquina} - Usuario: ${this.puntoUsuario}`)
  },

  // Opciones Validas
  opciones: ["piedra", "papel", "tijeras"],

  // Mostrar opciones validas
  mostrarOpciones: function () {
    for (var opcion of this.opciones) {
      console.log(`"${opcion}"`);
    }
  },

  // --------AQUI COMIENZA EL JUEGO----------//
  // entrada de la maquina
  maquina: "",
  // entrada del usuario
  usuario: "",

  validarMaquina: -1,
  validarUsuario: -1,

  // Funcion principal
  jugar: function () {

    while ((this.puntoMaquina < 10) && (this.puntoUsuario < 10)) {
      console.log("隆A jugar!");
      // Asinga un valor aleatorio a la entrada de maquina
      this.maquina = this.opciones[Math.round(Math.random() * 3)];
      // Asinga un valor aleatorio a la entrada de usuario
      this.usuario = this.opciones[Math.round(Math.random() * 3)];
      // Muestra las entradas
      console.log(`Maquina: ${this.maquina}`);
      console.log(`Usuario: ${this.usuario}`);
      // busca las entradas en las opciones validas
      this.validarMaquina = this.opciones.indexOf(this.maquina);
      this.validarUsuario = this.opciones.indexOf(this.usuario);

      // Revisa si las entradas son opciones validas
      if ((this.validarMaquina >= 0) && (this.validarUsuario >= 0)) {
        switch (true) {

          // valida si hay empate
          case (this.maquina === this.usuario):
            console.log("Hay un empate");
            this.mostrarMarcador();
            this.jugar();
            break;
            //casos donde gana la maquina
          case (((this.maquina === "piedra") && (this.usuario === "tijeras")) ||
            ((this.maquina === "papel") && (this.usuario === "piedra")) ||
            ((this.maquina === "tijeras") && (this.usuario === "papel"))):

            console.log("La maquina ha ganado");
            this.puntoMaquina++;
            this.mostrarMarcador();
            this.jugar();
            break;

          default: //si la maquina no gano, el usuario si

            console.log("El usuario ha ganado");
            this.puntoUsuario++;
            this.mostrarMarcador();
            this.jugar();
        }
      } else {
        console.log(`Opcion no valida ingresa una de las siguientes opciones:`);
        this.mostrarOpciones();
        this.jugar();
      }
    }


  },
  // Resultados
  resultados: function () {
    this.puntoMaquina == 10 ? console.log("Lo siento la Maquina ha ganado :(") : console.log("隆Felicidades eres el campe贸n del juego!");
  }
}

piedrasPapelTijeras.jugar();
piedrasPapelTijeras.resultados();
var miLaptop = {
    Modelo: "15-dw0004la",
    Procesador: "Intel Core i7",
    MemoriaRAM: "8GB",
    DiscoDuro: "256GB",
    Peso: "1.74 kg",
    caracteristicas: function(){
        console.log(`Mi laptop tiene las siguientes caracteristicas ${this.Modelo} ${this.Procesador} ${this.MemoriaRAM} ${this.DiscoDuro} ${this.Peso}`)
    }
}

miLaptop.caracteristicas()

Objetos en JS

Los objetos son uno de los conceptos bases de JS, (b谩sicamente todo JS funciona basado en objetos).

Un objeto es una estructura de datos (al igual que los array), con la diferencia que en los objetos no existe el 铆ndice num茅rico, lo que hay son propiedades, con ellas accedemos a cada uno de los valores.

{
propiedad: valor,
propiedad2: valor2,
propiedad3, valor3,...
}

Los valores del objeto pueden ser de todo tipo, es decir que podemos tener un number, un string, una funci贸n, un array, incluso otro objeto que contenga otros valores.

  • Los objetos son importantes porque de alg煤n modo imitan el comportamiento en el mundo real, los objetos tienen propiedades y tienen m茅todos.

  • Propiedades:

    • Es una caracter铆stica.
  • M茅todo:

    • Algo que el objeto puede hacer.
let perro = {
    nombre: "Terry",
    edad: 2,
    color: "cafe",
    sexo: "macho",
    vacunas: true,
    correr(){
        console.log(`${this.nombre} corre`)
    },
}

Las propiedades de este objeto son su nombre, color, sexo, etc.
Y tiene un m茅todo, este m茅todo es correr. Para llamarlos lo hacemos as铆:

perro.nombre
//imprime Terry

perro.correr()
//imprime Terry corre

Para ejecutar un m茅todo o funci贸n usamos los par茅ntesis.

Propiedades

Las propiedades de los objetos, es recomendable como buena practica que tengan las mismas reglas que las variables, ya que funcionan como variables.

  • Otra forma de acceder a los valores de las propiedades es as铆:
    • perro.[鈥渘ombre鈥漖
      • con corchetes y comillas.
        Tambi茅n podemos definir expresiones como propiedades, (valores de variables que est茅n por fuera del objeto).
        Y tambi茅n podemos igualar variables.
let a = "hola", b = "mundo";
let myObject = {a,b}

Y as铆 ya tiene dos propiedades
a: 鈥渉ola鈥,
b: 鈥渕undo鈥

Operadores

  • delete: es un operador unario que borra una propiedad de un objeto. Ejm:
    • Devuelve un boolean. Y si modifica el objeto.
delete perro.edad
//devuelve true porque lo encontro, y lo borro.
ahora el objeto perro ya no tiene, no existe en el la propiedad edad.

Para agregar una propiedad lo hacemos as铆:

perro.edad = 2
//ahora el objeto perro tiene una nueva propiedad que es perro: 2
//TAMBIEN SE PUEDE CON CORCHETES
perro["edad"] = 2
//y obtenemos el mismo resultado.

Bien, si alguien quiere profundizar un poco m谩s sobre this, puede leer esta documentaci贸n.
https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Operadores/this

la POO, es una manera de dise帽ar y desarrollar software que trata de imitar la realidad tomando algunos conceptos esenciales de ella.

el primero de estos es, precisamente, el de objeto, cuyo rasgos son la identidad, el estado y el comportamiento.
la identidad es el Que distingue a un objeto de otro. posteriormente tenemos, el estado, que son las caracter铆sticas que lo describen al objeto y finalmente tenemos el comportamiento que es lo que puede hacer nuestro objeto.

en conclusi贸n, Un identificador es el nombre del objeto, las variables son las caracter铆sticas del objeto y, los m茅todos son el comportamiento de nuestro objeto

con this.elementName nos estamos refiriendo a que vamos acceder un elemento del propio objeto (osea, del mismo), se traducir铆a as铆 (deEsteObjetoAccederAlElementoConElNombre.elementName). Lo s茅, es un poco larga su traducci贸n literal, pero es una forma efectiva para entender el trabajo real de this

Suerte, compa帽eros 馃槈

Tengo una duda por ejemplo, si tenemos un base de datos de usuarios, tenemos su nombre,sexo, fecha de nacimiento, correo, etc. cada usuario representaria un objeto?

/*Objetos*/
var miAuto = {
	marca: "BMW",
	modelo: "X5",
	anio: 2020,
	puertas: 4,
	color: "Rojo"
};

/*En consola, la forma de consultar los datos del objeto es la siguiente: nombre del objeto . atributo. Por ejemplo*/
miAuto.marca;
/*El resultado es BMW*/

/*Se pueden generar funciones dentro del objeto. A estas se les llaman m茅todos*/
var miAuto = {
	marca: "BMW",
	modelo: "X5",
	anio: 2020,
	puertas: 4,
	color: "Rojo",
	detalleDelAuto: function(){
		console.log(`Auto ${this.marca} ${this.anio}`);
	}
};

/*Para mandar llamar la funci贸n dentro del objeto se crea la llamada de forma normal.*/
miAuto.detalleDelAuto();```

Un objeto tiene caracter铆sticas y metodos. y va de la mano con THIS que hace referencia a el objeto global.

Platziamigos, les comparto algunas notas de la clase:
.

.
Espero que les ayuden.
(鈱愨枲_鈻)

馃摝 Los objetos en JavaScript nos permiten agrupar informaci贸n. Un objeto no es m谩s que un conjunto de propiedades.

Objetos

  • Para declarar un objeto la sintaxis es:
    var myObject = {property : 鈥渧alue鈥潁
    Ejemplo:
    var myCar = {
    color: 鈥淩ed鈥,
    year: 2015,
    }

  • Para acceder a un objeto:
    myCar.year;

JavaScript permite otra manera de acceder a una propiedad del objeto y es como se har铆a en un Array.

miAuto.marca;
miAuto['marca'];

Excelente la forma de entender this.

//this hace referencia a un objeto, en este caso el objeto papa que es el objeto miAuto.

var miAuto = {
    marca: "Chevrolet",
    modelo: "Spark",
    annio: 2019,
    detalleDelAuto: function() {
        console.log(`Auto ${this.modelo} ${this.annio}`)
    }
};


Aqu铆 hay mucha m谩s informaci贸n sobre Objetos en JS.
https://developer.mozilla.org/es/docs/Web/JavaScript/Guide/Trabajando_con_objectos

Diego explica de forma simple y entendible estos conceptos abstractos, gracias!

Un tip si eres nuevo, intenta hacer todo tu c贸digo en ingl茅s.
La industria funciona en ese idioma. Ademas aprendes en el intento 馃槃

Un objeto no es m谩s que una representaci贸n abstracta de una entidad del mundo real, mediante la cual modelamos caracter铆sticas (atributos) y comportamientos (m茅todos). El paradigma orientado a objetos no solo es una forma de escribir c贸digo, es una forma completamente distinta de pensar y modelar programas.

Cuando estamos trabajando un objeto, podemos hacer que una de las propiedades (PALABRA CLAVE) se convierta en una funci贸n, las cuales se llaman M脡TODOS, a la cual nombramos seg煤n lo que vaya a contener.

*Esta funci贸n puede hacer cosas con una de las propiedades que tenemos dentro de ese objeto.

*Esta funci贸n tiene la misma sintaxis de cualquier function.

***Aqu铆 mi ejemplo, pero desde VSCode, donde uso la terminal para validar si lo que estructure si esta correcto:

PASOS:
鈥擨ndicamos la palabra reservada RETURN

鈥擲eguido del RETURN, generamos unos Backticks ( `` ) y dentro de ellos escribimos lo que queremos que nos retorne.

鈥擟oncatenamos dentro de ese texto las PALABRAS CLAVE que necesitamos sean ejecutadas.

鈥擟on la ayuda de 鈥渢his鈥 = El 鈥渢his鈥 es una palabra reservada que hace referencia al objeto (鈥渟u padre鈥). Esto ---------this.modelo---------, ser铆a lo mismo que decir ------ miAuto.modelo ---------

鈥擯ara verificar si el c贸digo est谩 correcto, imprimimos por Consola, el nombre de mi objeto + punto (para poder acceder al valor del objeto) + la PALABRA CLAVE (m茅todo) + par茅ntesis vac铆os (porque como es una funci贸n la debemos activar as铆, como se hace cualquier otra funci贸n) .

muuuuuy interesante

var miAuto = {
    marca: "Toyota",
    modelo: "Corolla",
    year: 2020,
    //Metodo de objeto
    detalleDelAuto: function(){
        //this hace referencia al objeto
        console.log(`Auto ${this.modelo} ${this.year}`);
    } 
};

miAuto.marca; //acceder a valor del objeto.
miAuto.year;

miAuto.detalleDelAuto(); //Acceder al metodo del objeto.```
var miAuto = {
  marca: "Mini",
  modelo: "Cabrio",
  a帽o: 2020,
  detalleDelAuto: function() {
    console.log(`Auto ${this.modelo} ${this.a帽o}`);
  }
};
//This es una variable que hace referencia a su padre (miAuto)
//this.modelo = miAuto.modelo```

Los objetos te permiten envolver piezas de datos relacionados y funcionalidad en un solo contenedor. Los objetos tienen:

  • Propiedades que muestran informaci贸n sobre el objeto.
  • M茅todos que son funciones o capacidades que tiene el objeto.
let c = console.log //guardamos en una variable "c" la funcion 
let myCar = { //declaramos el objeto y sus detalles
  brand: "Toyota", // caracterisitcas o valores del objeto
  model: "Corolla",
  color: "Black",
  year: 2020,
  start: function(){ // funcion para arrancar
      return ` ${this.brand} ignition`
  },
  detailsCar: function(){// funcion para mostrar datos el auto
      return` List of details
      ${this.brand}
      ${this.model}
      ${this.color}
      ${this.year}`
  }
};
c(myCar.detailsCar())// llamando a la funcion del objeto lista de detalles
class Carro {
    constructor(marca,modelo, annio){
        this.marca = marca;
        this.modelo = modelo;
        this.annio = annio;

    }
}

var carro = new Carro(prompt("Cual es la marca de tu carro"),prompt("Que modelo es?"),prompt("De que a帽o es tu carro"));
console.log(`Mi carro es un: ${carro.marca} ${carro.modelo} ${carro.annio}`);```

No queda muy claro lo del this

Mucha informaci贸n, pero entendiendo poco a poco 馃槂

en plena pandemia tuve la oportunidad de hacer un curso de javascript. No se si fue porque no tenia muy fuertes las bases de html y css, pero cada vez que voy viendo este curso , me doy cuenta que aquel profesor no tenia mucha pedagogia. En cambio, con De Granda estoy cogiendo el hilo muy facil, hasta ahora genial el curso

let misListas = {
   frutas: ["Manzana","Banana","Pera","Frutilla","Melon","Naranja","Uva","Patilla"],

   verduras: ['Papa','Boniato','Cebolla','Tomate','Lechuga','Zanahoria','Aguacate'],
   
fullList : function sumarListas() {
               let concatenarListas= this.frutas.concat(this.verduras);
               console.log(`Debes comprar, ${concatenarListas}`)}
}
misListas.fullList(); 

Retorna:
Debes comprar, Manzana,Banana,Pera,Frutilla,Melon,Naranja,Uva,Patilla,Papa,Boniato,Cebolla,Tomate,Lechuga,Zanahoria,Aguacate

Objetos 馃槈

Un objeto es una colecci贸n de propiedades, y una propiedad es una asociaci贸n entre un nombre (o聽clave) y un valor key: value. El valor de una propiedad puede ser un valor como tal (string, number, float, etc) o una funci贸n.

var persona = {
		// key: value
    name: "Keneth",
    age: 21,
    sexo: 'M',
    mostrarDetalles: function(){
        console.log(`Soy ${this.name}, tengo ${this.age} a帽os`);
    }
}

console.log(persona.name); // "Keneth"
persona.mostrarDetalles(); // Soy Keneth, tengo 21 a帽os

M谩s info: https://developer.mozilla.org/es/docs/Web/JavaScript/Guide/Working_with_Objects

Es genial cuando todo lo que hab铆as visto alguna vez y no entend铆as qu茅 significaba, poco a poco va tomando sentido 馃槃

Los objetos contienen:

  • M茅todos: Son funciones dentro de un objeto.
    (Cuando una funci贸n est谩 dentro de un objeto).

  • Atributo o propiedad: Son variables internas que almacenan valores.
    (Cuando una variable est谩 dentro de un objeto).

Les dejo mis apuntes.
Introducci贸n
JavaScript es un lenguaje de programaci贸n que est谩 dise帽ado en un paradigma de objetos.
Es como llevar un objeto del mundo f铆sico a este paradigma de objetos.

驴Qu茅 es un objeto?
Un objeto es una colecci贸n de datos relacionados y/o funcionalidad (que generalmente consta de algunas variables y funciones, que se denominan propiedades y m茅todos cuando est谩n dentro de objetos).
Los objetos se manejan con propiedades, que es una combinaci贸n de palabras claves y valores.
Sintaxis

var name-objeto = {
	propiedades
};

// ejemplo m谩s grafico.
var name-objeto = {
	palabra-clave: valor,
	palabra-clave: valor
};

Ejemplo

var miAuto = {
    marca: "Toyota",
    modelo: "Corolla",
    annio: 2020
};

Acceder a un objeto
Para acceder a todo el objeto usamos el nombre del objeto.
Ejemplo

miAuto;

// resultado:
// {marca: "Toyota", modelo: "Corolla", annio: 2020}

Para acceder a una propiedad en particular de nuestro objeto usamos su nombre seguido de .propiedad.
Ejemplo

miAuto.marca;

// resultado:
// "Toyota"

M茅todo de objetos
Cuando trabajamos con la estructura de un objeto, podemos generar una propiedad del objeto sea una funci贸n y que la misma pueda hacer cosas con las dem谩s propiedades del objeto.

Ejemplo

var miAuto = {
    marca: "Toyota",
    modelo: "Corolla",
    annio: 2020,
    detalleDelAuto: function name(params) {
        console.log(`Auto ${this.modelo} ${this.annio}`);
    }
};

La forma para ingresar al m茅todo es colocar el nombre del objeto junto a .nombre-de-metodo.
Ejemplo

miAuto.detalleDelAuto();

// resultado:
// Auto Corolla 2020

驴Qu茅 es this?
this es una variable (con la que pod茅s acceder a ciertos valores del objeto) que hace referencia al objeto, en el caso del ejemplo, hace caso al padre_ miAuto_. Es como si estuvi茅semos escribiendo_ miAuto.modelo_ o miAuto.annio.
Fuente de donde saque algunos conceptos.

por que al nombrar el string usa comillas diagonales, en lugar de las comillas simple. 驴a que se debe esto?

En la Programaci贸n Orientada a Objetos, los objetos tienen:

  • Atributos, que describe como el es objeto (color, tama帽o, marca, etc.)
  • Metodos, que son las funcionalidades del objetos, 贸sea que puede hacer. Y esto se hace mediante funciones. en el ejemplo del auto, este puede acelerar, frenar, encender, apagar, ir hacia adelante, tener reversa, etc鈥

Fanatico de Initial D aparece jajajaja

var miAuto = {
    marca: "Toyota",
    modelo:"Corolla Sprinter Trueno",
    annio: 1986,
};

console.log(`I love my ${miAuto.marca} ${miAuto.modelo}`)

Que confuso porque los llaman objetos? vengo de python y esto seria un diccionario, por otro lado, objeto lo entinedo por una instancia de una clase 馃槙

Se utiliza this. cuando estas dentro del Objeto y no es necesario hacer referencia expl铆cita con su nombre si no utilizando solo this

Javascript es orientado a objetos, pero es multi paradigma (permite varios estilos de programaci贸n), soporta la programaci贸n funcional, orientada a objetos e imperativa. Fuente: https://developer.mozilla.org/es/docs/Web/JavaScript

Super interesante.

Despues de aqui me ire directo al Curso de POO

El Objeto en JavaScript es una variable con parejas de { llave : valor }

Un ejemplo de objeto puede ser un PC, el cual ser谩 la suma de sus propiedades:

  • Tarjeta Madre.
  • Procesador.
  • Ram.
  • Grafica.
  • Disco duro.
  • Chasis.
  • Fuente.

Lo expresariamos con la siguiente Sintaxis:

quedar铆a as铆:

Paso aporte de como ingresar varios valores de auto en una misma variable y cambiar la visualizaci贸n a tipo tabla (y)

Revise entre los aportes y las preguntas, y al no encontrar algo similar a lo que estoy por decir, me atrevo a escribir este aporte.

No sean como yo y vayan a creer que todo es posible con las Arrow functions. En mi caso, como me gusta escribir c贸digo con la sintaxis mas reciente de EcmaScript, pens茅 que un m茅todo de objeto tambi茅n se pod铆a escribir como arrow function y poder seguir accediendo a las propiedades del objeto actual como lo hace el profesor en la clase:

const vehiculoUno = {
  tipo: 'Autom贸vil',
  marca: 'Fiat',
  modelo: 'Panda',
  annio: 2015,
  detalle: () => {
    console.log(`${this.tipo}: ${this.marca} ${this.modelo}, ${this.annio}`)
  }
}

Sin embargo, al llamar a la funci贸n detalle del objeto, siempre me devolv铆a Undefined, undefined, undefined鈥 y es que dentro de los objetos, una funci贸n de flecha siempre toma el this como el alcance del documento, y no como un alcance del objeto, ya que pr谩cticamente este no declara ning煤n alcance en si mismo.
Por lo que, si queremos hacer m茅todos de objeto que accedan a sus mismas variables, podemos usar la declaraci贸n de funci贸n 鈥渃l谩sica鈥, que siempre ha servido y servir谩, y entiende lo que es this dentro del alcance de un objeto en si mismo.

const vehiculoUno = {
  tipo: 'Autom贸vil',
  marca: 'Fiat',
  modelo: 'Panda',
  annio: 2015,
  detalle: function() {
    console.log(`${this.tipo}: ${this.marca} ${this.modelo}, ${this.annio}`)
  }
}

Siento mucho no explicar bien lo que significa this, pero sigo adelante con mis estudios para poder entender quien es this en los proximos cursos.

Fuente: Arrow functions tutorial on Digital Ocean

Resumen

Objects

Esto es un paradigma en JavaScript que nos sirve para representar en el c贸digo propiedades de la vida real de un elemento, un objeto, una persona, etc鈥

Por ejemplo si tenemos un auto podemos ver sus propiedades y sus caracter铆sticas como la marca, el modelo, el a帽o de fabricaci贸n, etc鈥

Para crear un objeto primero debemos declarar una variable asignandole { }, en donde ir谩n las propiedades y caracter铆sticas de nuestro objeto.

Las propiedades son combinaciones entre palabras clave y valores, por ejemplo la palabra clave ser铆a la marca y el valor 鈥淭oyota鈥.

As铆 se escribe:

>var miAuto = {
	marca:"Toyota",
	modelo: "Corolla",
	a帽o: 2020
};

Para acceder al valor de una propiedad de un objeto se llama a la variable seguido de la palabra clave separados por un punto.

>miAuto.marca
<"Toyota"

Dentro de las propiedades de un objeto se puede almacenar una funci贸n. Vamos a agregarla.

>var miAuto = {
	marca:"Toyota",
	modelo: "Corolla",
	a帽o: 2020,
	detalleDelAuto: function(){
		console.log("Auto ${this.modelo} ${this.a帽o}");
	}
};
//La palabra this hace referencia al objeto global, es decir a la variable.

Para llamar una funci贸n que est谩 en las propiedades de un objeto se la llama de la misma forma pero se le agregan los ( ) de la funci贸n.

>miAuto.detalleDelAuto();
<Auto Corolla 2020

Ejercicio del CASE!!!

var piedra = 1;
var papel = 2;
var tijera = 3;

function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min)) + min;
}
var maquinaRandom = getRandomInt(1,4);

var valor = prompt(鈥淚ngresa un numero del 1 al 3鈥);

console.log(maquinaRandom);

function GanaGabi(){
if (maquinaRandom == 1 && valor ==2){
return true;
}else if (maquinaRandom == 2 && valor == 3){
return true;
}else if (maquinaRandom == 3 && valor == 1){

    return true;

}
console.log(鈥淣O鈥)
}

function Juego(){
console.log(maquinaRandom);
if (valor !鈥1鈥 && valor !鈥2鈥 && valor !==鈥3鈥){
alert(鈥淣umero incorrecto鈥)
return;
}

if (maquinaRandom == valor){
    alert("Hubo empate")
    return;
} 

switch (GanaGabi()){
    case true:
        alert("Gabi gana")
        break;
    default:
        alert("Gano maquina")
}  

}
Juego();

var MisDatos ={
Nombre: 鈥淕abriela鈥,
Apellido: 鈥淪olorzano鈥,
Edad: 28,
estatura: 1.57,
Informacion: function(){
console.log(Mi nombre es ${this.Nombre} ${this.Apellido} y tengo ${this.Edad} a帽os);
}
}

MisDatos.Informacion();

Ejemplo鈥

var auto = {
marca:鈥淎udi鈥,
modelo:鈥淎1鈥,
annio:2021,
color: 鈥淎zul鈥,
detalledauto: function(){
console.log(Auto ${this.modelo} ${this.annio});
}

};

Yo hab铆a escuchado que JavaSript era un lenguaje orientado a prototipos no a objetos. Realmente o entiendo que significa eso. Si alguien lo sabe se lo agradezco 馃檹馃徑馃檹馃徑

隆Hola! Quer铆a hacer un aporte hablando de la diferencia entre una clase y un objeto en programaci贸n. El ejemplo que escribir茅 fue el que hizo que entendiera de una vez por todas este concepto tan abstracto de la Programaci贸n Orientada a Objetos.

鈥淓xisten los moldes de galletas, y existen las galletas. Los moldes ser谩n las clases, y los objetos las galletas鈥. Simple, 驴No?

El molde definir谩 la forma de nuestra galleta, y tambi茅n su grosor, es decir que el molde define la apariencia y comportamiento de la galleta. Las galletas son objetos reales que creamos con ese molde, y mueden ser llamadas objetos o instancias de una clase.

OBJETOS

  • Tienen propiedades con las que trabajamos

Crearlo

var auto = {
      marca: "Toyota", //propiedad
      modelo: "Corolla",
      annio: 2023
};

Acceder a una propiedad

auto.modelo

Funci贸n dentro de un objeto

var auto = {
      modelo: "Corolla",
      annio: 2023,
      detalle: function(){
                         console.log("Auto ${this.modelo} ${this.annio}");
                   }
};

NOTA:

  • this hace referencia a 茅l mismo, al objeto.

Que gran clase, lo deja todo muy claro.

22/30 Objects

Un objeto es una estructura de datos en JavaScript que permite almacenar valores mediante propiedad-valor, separados por comas y utilizando la sintaxis de llaves.

Los atributos de un objeto son sus variables y los m茅todos son sus funciones.

Para acceder a los valores de un objeto, se puede utilizar la notaci贸n de corchetes o la notaci贸n de punto.

Los arrays tambi茅n son objetos en JavaScript y se pueden acceder a sus propiedades y m茅todos mediante la notaci贸n de punto

Para a帽adir o modificar propiedades de un objeto, se utiliza la notaci贸n de corchetes o de punto, asignando un nuevo valor a la propiedad correspondiente.

Ejemplo de objeto persona:

var persona = {
nombre: "Juan",
edad: 30,
genero: "Masculino",
ciudad: "Bogot谩",
saludar: function() {
		console.log("Hola, mi nombre es " + this.nombre + " y tengo " + 
		this.edad + " a帽os. ");
	}
};

persona.saludar(); // Hola, mi nombre es Juan y tengo 30 a帽os.

var presentacion = {
Nombre : 鈥淢elisa鈥,
Apellido : 鈥淔ranco鈥,
Edad : 32,
detalle : function () {
console.log (Hola yo soy ${this.Nombre} ${this.Apellido} y tengo ${this.Edad} a帽os)
}
}

presentacion.detalle()
// Hola yo soy Melisa Franco y tengo 32 a帽os

los objetos en JavaScript se parecen mucho a los diccionarios en Python, por eso amo ambos lenguajes!

let miAuto = {marca:鈥淭oyota鈥,
modelo:鈥渃orolla鈥,
annio:2021,
detalleDelAuto : function(){
console.log(Auto ${this.modelo} ${this.annio})
}
};

En coclusion, que es objects?

var persona = {
    nombre: "Patricio",
    nacionalidad: "ecuatoriano",
    edad: 23,
    saludar: function(){
        console.log(`Hola, soy  ${this.nombre} y tengo ${this.edad} a帽os`);
    }
};

Otra forma de acceder a las propiedades de los objetos:

<var miAuto={
    marca:'Toyota',
    modelo: 'Corolla',
    a帽o:2020,
    color: 'Black',
    detalleDelAuto: function(){
        console.log(`Auto ${this.modelo} ${this.a帽o}`);
    }
}> 

hola buenas tardes gente de platzi aqui vengo a mandar un aporte con este ejemplo parecido al del profesor pero con los componentes de una pc alta gama xd aqui el codigo

var micompu = {
grafica:鈥3070鈥,
procesador:鈥渞yzen55600x鈥,
tarjetamadre:鈥渂550 tuf gaming鈥,
memoriaram:鈥16gb ddr5鈥,
almacenamiento:鈥渟sd de 480gb/1tb de hdd鈥,
fuentedepoder:鈥渆vga de 700wts鈥,
case:鈥渁erocool bolt鈥,
monitor:鈥1080p de 144hz ips鈥,
annio: 2025,
detalledelacompu: function(){
console.log(compu ${this.grafica} ${this.procesador} ${this.case} ${this.annio});
}
}

Hey hola, cree mi primer objeto y le puse un m茅todo como ense帽贸 el profe en esta clase :
var carro = {
marca: 鈥楧odge鈥,
modelo: 鈥楽tratus鈥,
annio: 2022,
color: 鈥榬ojo鈥,
ponTodoJunto: function(){
console.log(Es un ${this.marca} ${this.modelo} ${this.color} del a帽o ${this.annio})
}
};

carro.ponTodoJunto();
Es un Dodge Stratus rojo del a帽o 2022

JavaScript est谩 dise帽ado en un paradigma simple basado en Objetos.
Un Objeto es una Colecci贸n de Propiedades, y una Propiedad es una asociaci贸n entre un nombre (o clave) y un valor.
El Valor de una Propiedad puede ser una Funci贸n, en cuyo caso la Propiedad es conocida como un M茅todo.
var miAuto = {
marca: 鈥楩ord鈥,
modelo: 鈥楳ustang鈥,
annio: 1969,
detalleDelAuto: function() {
console.log(Auto: ${this.marca} ${this.modelo} ${this.annio});
}
};

Para ejecutar el m茅todo teclear: miAuto.detalleDelAuto();
Muestra => Auto: Ford Mustang 1969
Adem谩s de los objetos que est谩n predefinidos en el navegador, puedes definir tus propios objetos.
Un Objeto de JavaScript tiene Propiedades asociadas a 茅l.
Una Propiedad de un objeto se puede explicar como una variable adjunta al objeto.
Las Propiedades de un Objeto b谩sicamente son lo mismo que las variables comunes de JavaScript, excepto por el nexo con el Objeto.
Las Propiedades de un Objeto definen las caracter铆sticas del Objeto.
Las Propiedades no asignadas de un objeto son undefined (y no null).
Accedes a las Propiedades de un Objeto con una simple notaci贸n de puntos:
NombreObjeto.NombrePropiedad
miAuto.marca; Muestra => 'Ford鈥
Tambi茅n se puede acceder o establecer las Propiedades de los Objetos en JavaScript mediante la notaci贸n de corchetes [ ].
Los Objetos, a veces son llamados Arreglos Asociativos, debido a que cada Propiedad est谩 asociada con un valor de cadena que se puede utilizar para acceder a ella.
Por lo tanto, por ejemplo, puedes acceder a las Propiedades del Objeto miCarro de la siguiente manera:
miAuto[鈥榤arca鈥橾 = 鈥楩ord鈥;
miAuto[鈥榤odelo鈥橾 = 鈥楳ustang鈥;
miAuto['annio] = 1969;

Tambi茅n se puede acceder a las propiedades mediante el uso de un valor de cadena que se almacena en una variable:
var nombrePropiedad = 鈥榤arca鈥;
miAuto[nombrePropiedad] = 鈥楩ord鈥; usa el valor que contiene la variable (marca)

nombrePropiedad = 鈥榤odelo鈥;
miAuto[nombrePropiedad] = 鈥楳ustang鈥;

Tomado de: https://developer.mozilla.org/es/docs/Web/JavaScript/Guide/Working_with_Objects

C贸digo de la clase 馃槂

//Ejemplo de objeto:

var miAuto = {
    marca: "Toyota",
    modelo: "Corolla",
    annio: 2020,
    detalle: function(){
        console.log(`Auto: ${this.modelo} ${this.annio}`) //this esuna variable que hace referencia al objeto
    }
}

//Para acceder a una propiedad del objecto
miAuto.marca;
//Toyota

miAuto.annio;
//2020

miAuto.detalle();
//Auto: Corolla 2020

Holaaaa, aqu铆 les dejo mi aporte

HOLA SI QUIERES PRACTICAR CODIGOS ENTRA EN ESTE LINK //www.codewars.com

var miAuto = {
marca: 鈥淭oyota鈥,
modelo: 鈥淐orolla鈥,
annio: 2020,
detallesDelAuto: function () {
console.log(Auto ${this.modelo} ${this.annio});
}
};
miAuto.detallesDelAuto();

Podemos borrar una propiedad dentro de un objeto:

const miPerro = {
nombre: 鈥渁zul鈥,
piernas: 4,
cola: 1,
ladrido: 鈥渨oof鈥
};

delete miPerro.cola;

Objects u objetos

Javascript es un lenguaje que est谩 dise帽ado en paradigma de objetos, as铆 que si logras entender bien que es esto y logras aplicarlo, logramos entender bastante del lenguaje Javascript.
Para entender el tema sobre objetos, podemos pensar en c贸mo llevar un objeto del mundo f铆sico a el paradigma de objetos del lenguaje de programaci贸n Javascript.
Por ejemplo: tenemos un auto o carro en el mundo f铆sico, con sus propiedades, para llevarlo al mundo de la programaci贸n en JS, generar铆amos una variable llamada carro y le agregar铆amos estas propiedades, las cuales pueden ser la marca, color, a帽o de fabricaci贸n, nombre de modelo, etc.

C贸mo generamos un objeto:

  1. Creamos una variable.

  2. Esta variable va a ser un objeto, le damos un nombre.

  3. El valor o los valores de la variable van dentro de llaves { };

  4. Le vamos a agregar al objeto ciertas propiedades. Los objetos se manejan con propiedades y estas son una combinaci贸n entre palabras claves y valores. Por ejemplo:

var miAuto = { 
	marca: "Toyota",
	modelo: "Corolla",
	annio: 2022;
}

La primer propiedad que le agregamos al objeto es la marca, es como la palabra clave y la forma de asignarle el valor, es colocar dos puntos " : " luego de la palabra clave, y coloco el valor.En este caso 鈥淭oyota鈥. Para agregar m谩s propiedades con sus valores, coloco coma " , " y agrego las mismas. Recordar que usamos comillas para los strings o cadenas de texto. Y en el ejemplo se coloca 鈥渁nnio鈥, porque la 鈥溍扁 es un car谩cter especial que en lenguaje de programaci贸n no se entiende.

  1. Ya tenemos el objeto con 3 propiedades, 驴C贸mo comenzamos a acceder a la informaci贸n de este objeto?.
    Una vez guardado el objeto en la consola del navegador, colocamos el nombre de la variable o nombre del objeto y nos arroja como resultado sus propiedades.
    驴C贸mo acceder a algo espec铆fico del objeto?
mi Auto.marca

Colocamos el nombre de la variable, punto y el nombre de la propiedad. Y en la consola nos devuelve el valor de la propiedad.

Tambi茅n podemos colocarle al objeto una funci贸n como propiedad, y 茅sa funci贸n puede hacer otras cosas con otras propiedades que est茅n dentro del objeto.

var miAuto = { 
	marca: "Toyota",
	modelo: "Corolla",
	annio: 2022,
	detalleDelAuto: function(){
		console.log(`Auto ${this.modelo} 		 
                ${this.annio}`);
}

En el ejemplo se agrega una propiedad y como valor colocamos una funci贸n, la cual se denomina 鈥渕茅todo de objeto鈥. Esta funci贸n va a imprimir en la consola el string con el modelo y el a帽o del carro.

this es una variable que hace referencia al objeto, en 茅ste caso hace referencia a su padre, que ser铆a 鈥渕iAuto鈥 . La forma de entenderlo es que 鈥渢his.modelo鈥 es 鈥渕iAuto.modelo鈥.

Lamamos en la consola el m茅todo para que se ejecute su c贸digo:

miAuto.detalleDelAuto()

Le colocamos los par茅ntesis porque adentro tiene una funci贸n.

var miCarro = 
{
    marca: "kia",
    modelo: "picanto",
    a帽o: 2020,
    detalleDelAuto: function () {
        console.log("auto "+ this.marca + " " + this.modelo + " " + this.a帽o)
        
    }

}

let car = {
    brand: "Toyota",
    model: "Corolla",
    year: 2021,
    type: "luxury"
}

console.log(car);
//Get data from objects
console.log('Car\'s brand is '+car.brand) // Get Brand
//Add property to Object
car.details = function(){
    console.log(`Car ${this.model} ${this.year}`)
}
console.log(car);

//Get Function
console.log(car.details());

Un objeto es un entidad independiente con propiedades y tipos. Los objetos de JavaScript pueden tener propiedades que definan sus caracter铆sticas.

var miAuto = {
  marca : "Nissan",
  modelo: "Corolla",
  a帽o: 2005,
  detalleAuto: function(){
  console.log(`Auto ${this.modelo} ${this.a帽o}`);
}
}

Conceptos b谩sicos

  • JS es un lenguaje que est谩 dise帽ado en un paradigma de objetos.

  • Significa que los valores tipo objeto vienen a representar objetos del mundo real

  • Los objetos son del tipo de dato no primitivo.

  • Por lo tanto puede contener m谩s de un valor.

  • Los valores se escriben como pares de nombre: valor (nombre y valor separados por dos puntos).

var car = {type:"Fiat", model:"500", color:"white"};

Propiedades del objeto
Los pares nombre:valor en los objetos JavaScript se denominan propiedades:
Ejemplo

var miAuto = {
    marca:"Toyota",
    modelo:"Corolla",
    annio:2020
}

Acceso a propiedades de objeto
Puede acceder a las propiedades del objeto de dos maneras:

objectName.propertyName
o
objectName["propertyName"]

Ejemplo:

miAuto.marca

M茅todos de objeto

  • Los m茅todos son acciones que se pueden realizar en objetos.

  • Los m茅todos se almacenan en propiedades como definiciones de funciones.
    Ejemplo

var miAuto = {
    marca:"Toyota",
    modelo:"Corolla",
    annio:2020,
    detalleAuto: function(){
        console.log(`Auto ${this.modelo} ${this.annio}`);
    }
}

Acceso a m茅todos de objetos
Accede a un m茅todo de objeto con la siguiente sintaxis:

objectName.methodName()
name = person.fullName();

Ejemplo:

miAuto.detalleAuto();

Si accede a un m茅todo sin los par茅ntesis (), devolver谩 la definici贸n de la funci贸n:

name = person.fullName;

La palabra clave this

  • En una definici贸n de funci贸n, esto se refiere al 鈥減ropietario鈥 de la funci贸n.
    En el ejemplo anterior, este es el objeto persona que 鈥減osee鈥 la funci贸n fullName.
    En otras palabras, this.firstName significa la propiedad firstName de este objeto.

No olviden poner la como despu茅s de 2020

let bombon = {
nombre : 鈥減aula andrea鈥,
apellido: 鈥渉ayle鈥,
profesion: 鈥渋ngeniera de software鈥
};

uwu 馃槜

El modelo de un veh铆culo es el a帽o.

Un aporte para los que todavia tienen problema con entender la sentencia 鈥榯his鈥, se utiliza 鈥榯his鈥︹ para referirte a una propiedad de un objeto desde dentro del mismo, cuando te refieres a una propiedad desde fuera, lo haces nadamas con 鈥榥ombreObjeto.propiedad鈥, espero les sirva, animo!!

| Objetos
Son lo que en otros lenguajes se denominar铆an diccionarios.
Pueden contener funciones se les denominan m茅todos.
|| M茅todos
Permiten implementar funcionalidades propias de una clase.
Con la palabra clave this se puede acceder a los atributos tal como en una clase.
this.atributo

ALT +96 para que saquen las comillas simples invertidas en windows

En realidad, JavaScript no es solamente orientado a objetos, tambi茅n es funcional. As铆 que JavaScript es m谩s bien multiparadigm谩tico.

JS es un lenguaje que est谩 dise帽ado en un paradigma de objetos, as铆 que al entender este concepto y su implemenytaci贸n habr谩 un acercamiento considerable a qu茅 es JS y c贸mo funciona. Ahora, puntualmente, se trata de c贸mo llevamos un objeto del mundo f铆sico a este paradigma de objetos de JS.
Ejemplo:

Un carro espec铆fico en el mundo (que tiene ciertas propiedades)

Se traslada por medio de la variable 鈥渃arro鈥 a la que se le agregan dichas propiedades como marca, modelo, cantidad de puertas, llantas, etc.

var miCarro = {
    marca: "Toyota", 
    modelo: "Corolla",
    annio: 2020,
};
miCarro
//{marca: "Toyota", modelo: "Corolla", annio: 2020}

Los objetos se manejan con propiedades y estas son una combinaci贸n entre palabras clave y valores.

Pero, 驴c贸mo acceder a una propiedad espec铆fica y no a todo el conjunto de propiedades de, pongamos por caso, 30 objetos, es decir, 30 carros?:

miCarro.marca
"Toyota"

miCarro.annio
2020

Es posible hacer que una de las propiedades del objeto, sea una funci贸n que pueda ejecutar acciones con las dem谩s propiedades del objeto, a esto se le llama m茅todos de objetos:

var miCarro = {
    marca: "Toyota", 
    modelo: "Corolla",
    annio: 2020,
    detalleDelCarro: function(){
        colsole.log(`Carro ${this.modelo} ${this.annio}`);
    }
};
//this es una variable que hace referencia al 
//objeto global-padre, equivale a miCarro.annio

La forma de acceder a este m茅todo (la funci贸n del objeto) es:

miCarro.detalleDelCarro();
Carro Corolla 2020

Utilizamos el this, para referirnos a la instancia.

Es un buen curso pero en mi caso no es suficiente, siento que necesito mas explicaciones que me dejen asimilar mejor los conceptos. Pens茅 que con este contenido bastaba pero tengo que apoyarme con Youtube. Gracias por el curso Diego. Espero aprender pronto lo que transmites a los demas.

var miMoto = {
marca: 鈥淵amaha鈥,
modelo: "yamalube"
a帽o: 2021
}

hola comunidad les comparto esta pagina que nos sirve como consola de javascript y es f谩cil de usar y es dedicada a esto ya que hacerlo sobre el navegador me parece algo complejo no deja hacer algunas cosas los saltos de lineas todo es mas complicado y aqu铆 podes ir guardando tus repositorios es interesante p贸ngale gafa

https://repl.it/

this cambia dependiendo del scope donde se utilice

Representacion de un numero complejo:

codigo

let complex = {
    real: 0,
    imaginary: 0,
    toString: function(){
                  console.log(`(${this.real} + ${this.imaginary}i)`);
              }
};
complex.real = 4;
complex.imaginary = 5;
complex.toString()

ejecucion: (4 + 5i)

POO
Abstracci贸n de la realidad.
Atributos(propiedades: llaves & valores) & m茅todos(funciones)
Declarar
let nombreObj = { llave : 鈥淰alor鈥 , llave1 : 鈥淰alor1鈥, nombreFunci贸n : function(){Algoritmo}};
Acceder
nombreObj.llave
nombreObj.llaveFunci贸n

let persona = {
    nombre : "Manuel",
    apellido : "Hevia",
    edad : 26,
    carrera : "IA",
    hablar : function(){
        console.log(`Hola, me llamo ${this.nombre} ${this.apellido}. Tengo ${this.edad} y me dedico a la ${this.carrera}.`);
    }
}

persona.nombre;
persona.hablar();