Cuando comparamos objetos hay que tener mucho cuidado.
Comparar primitivos es sencillo, pero recuerda que los objetos se almacenan en memoria teniendo en cuenta su referencia y no su valor.
Dicho esto, el objeto que pasamos como argumento a checkAge es el objeto { age: 18 }, este es diferente al objeto que evaluamos en los if de la función, por más que usemos comparación estricta, seguirán siendo objetos diferentes por que sus referencias son diferentes:
La respuesta:
Cuando comparamos objetos hay que tener mucho cuidado.
Comparar primitivos es sencillo, pero recuerda que los objetos se almacenan en memoria teniendo en cuenta su referencia y no su valor.
Dicho esto, el objeto que pasamos como argumento a
checkAgees el objeto{ age: 18 }, este es diferente al objeto que evaluamos en losifde la función, por más que usemos comparación estricta, seguirán siendo objetos diferentes por que sus referencias son diferentes: