Explica este código JavaScript
console.log(Number(2) === Number(2))
console.log(Boolean(false) === Boolean(false))
console.log(Symbol('foo') === Symbol('foo'))
- A:
true
,true
,false
- B:
false
,true
,false
- C:
true
,false
,true
- D:
true
,true
,true
Respuesta en el primer comentario.
Top comments (1)
Respuesta:
A:
true
,true
,false
Primero, usamos el constructor
Number
para convertir2
anumber
, como solo es una conversión de primitivos entonces el resultado estrue
.Segundo, usamos el constructor
Boolean
para convertirfalse
a boleano, nuevamente solo es una conversión, entonces el resultado de la comparación estrue
.Tercero, ningún
Symbol
es igual a otroSymbol
, por más que en el ejemplo tengan los mismos placeholdersfoo
, nunca serán iguales. Entonces siempre nos daráfalse
.No debemos confundir el contructor
Number
yBoolean
por sí mismos, con dichos costructures acompañados de la palabranew
, si hacemos lo siguiente:Ambas variables serán objetos creados por medio de estos contructores, y no solo conversiones como en el ejercicio principal de este post.