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.