DEV Community

Cristian Fernando
Cristian Fernando

Posted on

Paracetamol.js馃拪| #9: 驴Qu茅 imprime este c贸digo JavaScript?

驴Qu茅 imprime este c贸digo JavaScript?

let a = 3;
let b = new Number(3);
let c = 3;

console.log(a == b);
console.log(a === b);
console.log(b === c);
Enter fullscreen mode Exit fullscreen mode
  • A: true false true
  • B: false false true
  • C: true false false
  • D: false true true

Repuesta en el primer comentario.


Discussion (1)

Collapse
duxtech profile image
Cristian Fernando Author

Repuesta correcta:

C: true false false

Veamos por que.
En el primer console.log:

console.log(a == b);
Enter fullscreen mode Exit fullscreen mode

Vemos que hacemos una comparaci贸n d茅bil con el operador ==, esto significa que solo compararemos los valores de a y b, por ende obtendremos un true.

En el segundo console.log:

console.log(a === b);
Enter fullscreen mode Exit fullscreen mode

Hacemos una comparaci贸n estricta usando el operador ===, esto significa que compararemos valores y tipos de datos, a y b tienen el mismo valor, pero a es de tipo number y b esta siendo inicializada usando el contructor Number, por ende es un objeto; entonces obtendremos un false.

En el tercer console.log

console.log(b === c);
Enter fullscreen mode Exit fullscreen mode

Al igual que el caso anterior, intentamos comparar de manera estricta un objeto contra un n煤mero, entonces tendremos como resultado un false.

Conclusi贸n: trata de usar simpre ===.