console.log (! status) no escopo global produzindo resultado inesperado [duplicado]

Esta pergunta já tem uma resposta aqui:

Variável booleana retorna como string da função javascript 2 respostas

Corri para uma questão interessante. Eu estava trabalhando na tentativa de alternar um booleano que foi atribuído a uma variável. Não estava funcionando e, eventualmente, tentei esse código.

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

Eu esperava que ele fornecessetrue no console, mas eu conseguifalse. Imaginei que o javascript executaria o código entre parênteses primeiro para descobrir seu valor e, em seguida, console.log o valor. Poderia explicar por que não estou recebendo umatrue valor no console?

questionAnswers(5)

yourAnswerToTheQuestion