Essa eu me bati um pouco para descobrir porque o meu código estava dando errado. Só percebi quando o console acusou que S não estava definido e o programa começou a mostrar algum resultado quando criei as variáveis S e N. Daí lembrei que o prompt sempre retorna string, então tinha que sinalizar ao programa que a variável temCarteira deveria ser igual a string "S".
Deu certo nesta maneira:
<meta charset="UTF-8">
<script>
function pulaLinha() {
document.write("<br>");
}
function mostra(frase) {
document.write(frase);
pulaLinha();
}
var idade = parseInt(prompt("Qual é sua idade?"));
var temCarteira = prompt("Tem carteira? Responda S ou N");
if(idade >= 18 && temCarteira == "S") {
mostra("Pode dirigir")
} else{
mostra("Não pode dirigir")
}
</script>