questão do escopo setTimeout

Eu tenho um setTimeout definido dentro de uma função que controla o respawn do player (estou criando um jogo):

var player = {
    ...
    death:(function() {
        this.alive = false;
        Console.log("death!");
        var timer3 = setTimeout((function() {
            this.alive = true;
            Console.log("alive!");
        }),3000);
    }),
    ...
}

Quando ele é executado, eu leio no console "morte!" e 3 segundos depois "vivo!" Contudo,alive nunca é realmente voltar a verdade, porque se eu escreverplayer.alive no console, ele retornafalse. Como posso ver "vivo!" mas a variável nunca é definida de volta para true?

questionAnswers(5)

yourAnswerToTheQuestion