problem z zakresem setTimeout

Mam setTimeout zdefiniowany wewnątrz funkcji, która kontroluje odrodzenie gracza (tworzę grę):

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

Kiedy się wykonuje, czytam w konsoli: „śmierć!” i 3 sekundy później „żywy!”. Jednak,alive nigdy tak naprawdę nie wraca do prawdziwości, bo jeśli piszęplayer.alive w konsoli wracafalse. Dlaczego mogę zobaczyć „żywy!” ale zmienna nigdy nie jest ustawiana z powrotem na true?

questionAnswers(5)

yourAnswerToTheQuestion