[RESOLVIDO] Problema com condições usando JavaScript

Atenção Não é trabalho de casa! É treinamento! Não entendo porque a condição está retornado a resposta brasileira mesmo que se digite Brasil alguém pode me ajudar?

Teste Digite o país:
</div>

<script>
    function test(){
        var txtp = window.document.querySelector('input#txtp')

        var pais = window.document.querySelector('div#resp')
       
        if(pais =! 'Brasil'){
            resp.innerHTML += `<p>A pessoa é estrangeira</p>`
            alert('A pessoa é estrangeira!!')
        }else{
            resp.innerHTML += `<p>A pessoa é brasileira!</p>`
            alert('A pessoa é brasileira!!')
        }
    }
</script>

Altera para:

    if(pais ==! 'Brasil')

https://www.w3schools.com/js/js_comparisons.asp

Caramba, de onde saiu esse ==! e esse =!?

Até onde eu sei (e posso estar errado) é:

if(x != 10) {

Ou

if(x !== 100) {
1 curtida

FOI ERRO DE DIGITAÇÃO !!! Já foi feita a inversão reporta o a mesma resposta, gentileza executar o treinamento está na mesma agradeço pelo feedback!!!


Document

Saída só reporta brasileira mesmo que se digite no input “Brasil” parece que passa direto na condição if(pais != ‘Brasil’) sei que o erro esta:
if(pais != ‘Brasil’){
resp.innerHTML += <p><i>A pessoa é estrangeira</i></p>
// alert(‘A pessoa é estrangeira!!’)
} else if(pais == ‘Brasil’){
resp.innerHTML += <p><i>A pessoa é brasileira!</i></p>
// alert(‘A pessoa é brasileira!!’)
}

E o que está sendo lido na variável pais?
Já tentou exibir e ver se é o valor que você espera?

Tentei executar pelo prompt do node para efeito de teste ,mas não encontrei o comando que captura e exibe a entrada no prompt do node fiz outros testes como esse está normal:

Sistema de Multas

Velocidade do carro Km/h
    </div>
    <script>
    function calcular(){
        var txtv = window.document.querySelector('input#txtvel')
        var vel = window.document.querySelector('div#res')
        var vel = Number(txtv.value)
        res.innerHTML = `A velocidade do carro é <i>    ${vel}</i>`
        if(vel > 60){
            res.innerHTML += `<p><strong>Será multado!!</strong></p>`
        }else{
            res.innerHTML +=`<p><strong>Velocidade permitida!!</strong></p>`
        }
        res.innerHTML +=  `<p> Dirija sempre com cinto de segurança</p>`

        }
        
    
    </script>

E o que está sendo lido na variável pais? Já tentou exibir e ver se é o valor que você espera? Dei um console.log(pais) exibiu nada!!

Bota casaco tira casaco…

Sei lá, acho que você está reinventando a roda.

var pais = document.getElementById('pais').value;
if(pais !== 'Brasil') {
    //Se é diferente
} else {
    //Se é igual
}

acho que você está reinventando a roda eu kkk quem derá só quero entender o porquê que não está funcionando vi que vc está utilizando document.getElementById(‘pais’).value e trocou pais !== 'Brasil deixa eu testar aqui…

Lembre-se que a descrição do problema fica no corpo do tópico, não no título. Isso é básico da internet.

Não faz diferenciação na hora quando faz a codificação

   <script>
    function test(){
        var txtp = document.getElementById('txtp').value

        var pais = 'Brasil'

        if(pais !== 'Brasil'){
            alert('É estrangeira!')
        }
        else{
            alert('É brasileira!')
        }
    }
function test(){ var txtp = document.getElementById('txtp').value var pais = 'Brasil' if(pais !== 'Brasil'){ alert('É estrangeira!') } else{ alert('É brasileira!') } }

Finalmente o problema é se estava usando a var = pais na condição, quando a variável e trocada para o if(txtp !== ‘Brasil’) funcionou!!

<script>
        function test(){
            var txtp = document.getElementById('txtp').value
            if(txtp !== 'Brasil'){
                alert('A pessoa é estrangeira!')
               
            }else{
                alert('A pessoa é brasileira!')
             
            }
        }
    
    </script>

Cara, não faz o menor sentido isso.
Mas, ok;

Daquela forma não estava funcionando :

function test(){
var txtp = document.getElementById(‘txtp’).value
var pais = ‘Brasil’
if(pais !== ‘Brasil’){
alert(‘A pessoa é estrangeira!’)

        }else{
            alert('A pessoa é brasileira!')
         
        }
    }

Mas essa condição só vai cair sempre em “brasileira”, pq vc ta comparando errado, ué

Isso que dá as vezes de ficar copiando código dos outros então eu fiz dessa forma joguei a variável txtp na comparação que está dentro do input que nada mais nada menos e o valor via teclado que o usuário digitará,mas creio sim que tem uma maneira mais elegante e leve de rodar essa pequena rotina os senhores estão opinando de maneira certa não estão resolvendo a questão,mas estão me dando um feed para e possa resolver sozinho tá certo aqui ninguem resolve nada eu estou ciente disso pode deixar comigo.

Programação e um desafio e nesses pequenos desafios chegamos aos grandes!!