Eu jurava de pé junto que eu não poderia comparar um inteiro com uma string dentro dos parâmetros do if. Mas depois desse código percebi que além disso, você também deve colocar dois iguais == para comparação de string também, e eu imaginando que isso só acontecia com números...
<meta charset="UTF-8">
<script>
function pulaLinha() {
document.write("<br>");
}
function mostra(frase) {
document.write("<center>"+frase+"<center>");
pulaLinha();
}
var idade = parseInt(prompt("Qual é sua idade?"));
var temCarteira = prompt("Tem carteira? Responda S ou N");
if(idade >= 18 && temCarteira == "S"){
mostra("Parabéns, você pode dirigir!");
} else {
mostra("Infelizmente, você não pode dirigir.");
}
</script>