Estrutura IF
Vemos como trabalhar com a estrutura de controle IF em Javascript.
IF é uma estrutura de controle utilizada para tomar decisões. É uma condicional que realiza umas ou outras operações em função de uma expressão. Funciona da seguinte maneira, primeiro se avalia uma expressão se o resultado dá positivo realizam-se as ações relacionadas com o caso positivo.
A sintaxe da estrutura IF é a seguinte:
if (expressão)
{ ações a realizar em caso positivo ... }
Opcionalmente se podem indicar ações a realizar no caso de que a avaliação da sentença dê resultados negativos
if (expressão) { ações a realizar em caso positivo ... } else { ações a realizar em caso negativo ... }
Observemos várias coisas: Para começar vemos como com umas chaves englobam as ações que queremos realizar no caso de que se cumpram ou não as expressões. Estas chaves devem ser colocadas sempre, exceto no caso de que somente haja uma instrução como ações a realizar, que são opcionais.
Outro detalhe que está descarado é a margem que colocamos em cada um dos blocos de instruções para executar nos casos positivos e negativos. Esta margem é totalmente opcional, somente fizemos assim para que a estrutura IF se compreenda de uma maneira mais visual. As quebras de linhas também não são necessárias e foram assim colocadas para que se veja melhor a estrutura. Poderíamos perfeitamente colocar toda a instrução IF na mesma linha de código, mas isso não ajudará que as coisas estejam claras. Nós, e qualquer programador, aconselhamos que utilizem as margens e as quebras de linhas necessárias para que as instruções possam ser entendidas melhor, hoje e dentro de um mês, quando já não será tão fácil lembrar o que foi feitos em seus scripts.
Vejamos um exemplo de condicionais IF.
if (dia == "Segunda-feira") document.write ("Que tenha um ótimo começo de semana")
Se for segunda-feira nos desejará uma ótima semana. Não fará nada em caso contrário. Como neste exemplo somente indicamos uma instrução para o caso positivo, não será preciso utilizar as chaves. Observe também no operador condicional que consta de dois signos "igual".
Vamos ver agora outro exemplo, um pouco mais comprido.
if (credito >= preço) { document.write("comprou o artigo " + novoArtigo) //mostro compra carrinho += novoArtigo //coloco o artigo no carrinho da compra credito -= preço //diminuo o crédito conforme o preço do artigo } else { document.write("acabou o seu crédito") //informo que lhe falta dinhero window.location = "carrinhodacompra.html" //vou à página do carrinho }
Este exemplo é um pouco mais complexo, e também um pouco fictício. O que faço é comprovar se tenho crédito para realizar uma suposta compra. Para isso, vejo se o crédito é maior ou igual que o preço do artigo, se é assim, informa da compra, coloco o artigo no carrinho e subtraio o preço ao crédito acumulado. Se o preço do artigo é superior ao dinheiro disponível, informo a situação e mando ao navegador à página onde se mostra seu carrinho da compra.
Expressões condicionais
A expressão a avaliar se coloca sempre entre parêntesis e está composta por variáveis que se combinam entre si mediante operadores condicionais. Lembramos que os operadores condicionais relacionavam duas variáveis e devolviam sempre um resultado boleano. Por exemplo, um operador condicional é o operador "é igual" (==), que devolve true no caso de que os operandos sejam iguais ou false no caso de que sejam distintos.
if (idade > 18) document.write("pode ver esta página para adultos")
Neste exemplo, utilizamos em operador condicional "é maior" (>). Neste caso, devolve true se a variável idade é maior que 18, com o que se executaria a linha seguinte que nos informa de que se pode ver o conteúdo para adultos.
As expressões condicionais podem ser combinadas com as expressões lógicas para criar expressões mais complexas. Lembramos que as expressões lógicas são as que têm como operandos aos boleanos e que devolvem outro valor boleano. São os operadores de negação lógica, E lógico e O lógico.
if (bateria == 0 && redeEletrica = 0) document.write("seu laptop vai se apagar em segundos")
O que fazemos é comprovar se a bateria de nosso suposto computador está a zero (acabada) e também comprovamos se o computador não tem rede elétrica (se está fora da tomada). Logo, o operador lógico os relaciona com um E, de modo que se está sem bateria E sem rede elétrica, informo que o ordenador vai se apagar.
A lista de operadores que se podem utilizar com as estruturas IF, podem ser vistos no capítulo de operadores condicionais e operadores lógicos.