DEV Community

Cristian Fernando
Cristian Fernando

Posted on • Edited on

Paracetamol.js💊| #16: ¿Qué imprime este código JavaScript?

¿Qué imprime este código JavaScript?

const obj = { 1: "a", 2: "b", 3: "c" }; const set = new Set([1, 2, 3, 4, 5]); obj.hasOwnProperty("1"); obj.hasOwnProperty(1); set.has("1"); set.has(1); 
Enter fullscreen mode Exit fullscreen mode
  • A: false true false true
  • B: false true true true
  • C: true true false true
  • D: true true true true

Repeusta en el primer comentario:


Top comments (1)

Collapse
 
duxtech profile image
Cristian Fernando

Respuesta:

  • C: true true false true

En el objeto:

const obj = { 1: "a", 2: "b", 3: "c" }; obj.hasOwnProperty("1"); //true obj.hasOwnProperty(1); //true 
Enter fullscreen mode Exit fullscreen mode

El método hasOwnProperty propio de los objetos retorna un boolean dependiendo si la key del objeto existe o no.
Lo que hay que tener en cuenta es que las claves de un objeto siempre son de tipo string aunque no lo especifiquemos.

En el set:

const set = new Set([1, 2, 3, 4, 5]); set.has("1"); //false set.has(1); //true 
Enter fullscreen mode Exit fullscreen mode

Esto no funciona como en un objeto, recuerda que un set es como un tipo de arreglo de valores no repetidos. Por ello 1 string no concuerda con 1 number.