Em qualquer linguagem de programação, o IF vai ler a EXPRESSÃO que você passar pra ele, e tentar interpretar ela como VERDADEIRO ou FALSO, porque, no fim, é apenas isso que você precisa, saber se uma coisa aconteceu não, pra daí tomar uma decisão. Por exemplo:
SE acontecer X, então faça isso, senão faça aquilo.
acontecer X
deve retornar verdadeiro ou falso. Aconteceu ou Não Aconteceu?
Então, utilizamos essa técnica (se é que eu posso chamar assim) pra melhorar a leitura do código:
ao invés disso:
if (numero_secreto == chute) ...
usamos isso:
acertou = numero_secreto == chute
if (acertou) ...
Veja que, no fim das contas, é a mesma coisa, mas a leitura do código melhorou. Você "guardou na cabeça" que a variável acertou
quer dizer uma coisa, e em outra parte do código, você quer saber se essa coisa aconteceu. Assim fica mais fácil de entender certas partes do código.
Um exemplo um pouco mais próximo no mundo real:
cliente_bloqueado = verificar_cliente(cliente)
tem_estoque = verificar_estoque(produto)
tem_preco = verificar_preco(produto)
tem_imagem = verificar_imagem(produto)
pode_comprar = !cliente_bloqueado and (tem_estoque and tem_preco and tem_imagem)
if pode_comprar
abre_pagina_produto(produto)
else
abre_pagina_404()
end
veja que a leitura é muito mais fácil que isso:
if !cliente_bloqueado and (tem_estoque and tem_preco and tem_imagem)
abre_pagina_produto(produto)
else
abre_pagina_404()
end
Você guardou na cabeça o que a variável pode_comprar
quer dizer, e fica mais fácil de lembrar se um determinado produto está comprável ou não.
E você ainda pode reutilizar essa variável em outras partes do seu código, sem precisar repetir várias vezes a mesma comparação.