console.log (! status) en alcance global produciendo resultados inesperados [duplicado]

Esta pregunta ya tiene una respuesta aquí:

La variable booleana regresa como una cadena de la función javascript 2 respuestas

Se topó con un tema interesante. Estaba trabajando para tratar de alternar un booleano que se asignó a una variable. No funcionaba y finalmente probé este código.

var status = false;
console.log(!status);

Esperaba que proporcionaratrue en la consola, pero en cambio obtuvefalse. Pensé que javascript ejecutaría el código dentro del paréntesis primero para encontrar su valor y luego console.log el valor. ¿Podría explicar por qué no recibo untrue valor en la consola?