Descobri que o JS faz diferença entre uma letra maiúscula e uma minúscula. O código não estava funcionando quando se respondia com uma letra minuscula à pergunta "Tem carteira? Responda S ou N". Então precisou de uma correção.
if( idade >= 18 ) {
if( temCarteira == "S") {
mostra("Pode dirigir");
}
if( temCarteira == "s") {
mostra("Pode dirigir");
}
}
if(idade < 18) {
mostra("Não pode dirigir");
}