Operadores Javascript

Operadores de cadeias

As cadeias de caracteres, ou variáveis de texto, também têm seus próprios operadores para realizar ações típicas sobre cadeias. Apesar do ter somente um operador para cadeias se podem realizar outras ações com uma série de funções pré-definidas na linguagem que veremos mais adiante.

+ Concilia duas cadeias, pega a segunda cadeia a seguir da primeira.

Exemplo

cadeia1 = “ola”

cadeia2 = “mundo”

cadeiaConciliada = cadeia1 + cadeia2 //cadeia conciliada vale “olamundo”

Um detalhe importante que pode ser visto neste caso, é que o operador + serve para dois usos distintos, se seus operandos são números, os soma, mas se se trata de cadeias, as concilia. Isto ocorre em geral com todos os operadores que se repetem na linguagem, javascript é suficientemente esperto para entender que tipo de operação realizar mediante uma comprovação dos tipos que estão implicados nela.

Um caso que seria confuso é o uso do operador + quando se realiza a operação com operadores texto e numéricos misturados. Neste caso javascript assume que se deseja realizar uma conciliação e trata aos dois operandos como se tratasse de cadeias de caracteres, inclusive se a cadeia de texto que temos for um número. Isto veremos mais facilmente com o seguinte exemplo.

meuNumero = 23

minhaCadeia1 = “pedro”

minhaCadeia2 = “456″

resultado1 = meuNumero + minhaCadena1 //resultado1 vale “23pedro”

resultado2 = meuNumero + minhaCadeia2 //resultado2 vale “23456″

minhaCadeia2 += meuNumero //minhaCadena2 agora vale “45623″

Como podemos ver, também no caso do operador +=, se estamos tratando com cadeias de texto e números misturados, tratará aos dois operadores como se fossem cadeias.

Operadores lógicos

Estes operadores servem para realizar operações lógicas, que são aquelas que dão como resultado um verdadeiro ou um falso, e se utilizam para tomar decisões em nossos scripts. Ao invés de trabalhar com números, para realizar este tipo de operações se utilizam operandos boleanos, que conhecemos anteriormente, que são o verdadeiro (true) e o falso (false). Os operadores lógicos relacionam os operandos boleanos para dar como resultado outro operando boleano, tal como podemos ver no seguinte exemplo.

Se tenho fome e tenho comida, então irei comer

Nosso programa javascript utilizaria neste exemplo um operando boleano para tomar uma decisão. Primeiro irá ver se tenho fome, se é certo (true) irá ver se disponho de comida. Se são os dois são certos, poderá comer. No caso de que não tenha comida ou de que não tenha fome não comeria, assim como se não tenho fome nem comida. O operando em questão é o operando Y, que valerá verdadeiro (true) no caso de que os dois operandos sejam verdadeiros.

! Operador NO ou negação. Se é true passa a false e vice-versa.

&& Operador Y, se são os dois verdadeiros vale verdadeiro.

|| Operador O, vale verdadeiro se pelo menos um deles for verdadeiro.

Exemplo

meuBoleano = true

meuBoleano = !meuBoleano //meuBoleano agora vale false

tenhofome = true

tenhoComida = true

comoComida = tenhoFome && tenhoComida

Operadores condicionais

Servem para realizar expressões condicionais mais complexas que desejarmos. Estas expressões se utilizam para tomar decisões em função da comparação de vários elementos, por exemplo, se um número é maior que outro ou se são iguais. Os operadores condicionais se utilizam nas expressões condicionais para tomar decisões. Como estas expressões condicionais serão objeto de estudo mais adiante será melhor descrever os operadores condicionais mais adiante. De qualquer forma, aqui podemos ver a tabela de operadores condicionais.

== Comprova se dois números são iguais

!= Comprova se dois números são distintos

> Maior que, devolve true se o primeiro operador for maior que o segundo

< Menor que, é true quando o elemento da esquerda for menor que o da direita

>= Maior igual.

<= Menor igual

Estes são muito pouco correntes e é possível que você nunca chegue a utilizá-los. Seu uso se realiza para efetuar operações com zeros e uns. Tudo o que maneja um computador são zeros e uns, a pesar de nós usarmos números e letras para nossas variáveis na verdade estes valores estão escritos internamente em forma de zeros e uns. Em alguns casos, poderemos necessitar realizar operações tratando as variáveis como zeros e uns, e para isso, utilizaremos estes operandos. Nesta manual se tornaria um pouco extenso demais se realizássemos uma discussão sobre este tipo de operadores, mas aqui você poderá ver estes operadores por acaso algum dia fizer falta.

& Y de bits

^ Xor de bits

| O de bits

<< >> >>> >>>= >>= <<= Várias classes de mudanças

Precedência dos operadores

A avaliação de uma sentença das que vimos nos exemplos anteriores é bastante simples e fácil de interpretar, mas quando em uma sentença entram em jogo uma infinidade de operadores diferentes pode haver uma confusão na hora de interpretá-la e avaliar quais operadores são os que se executam antes que outros. Para marcar umas pautas na avaliação das sentenças e que estas se executem sempre igual e com sentido comum existe a precedência de operadores, que não é mais que a ordem pela qual se irão executando as operações que eles representam. À princípio todos os operadores se avaliam da esquerda para a direita, mas existem umas normas adicionais, pelas quais determinados operadores se avaliam antes que outros. Muitas destas regras de precedência foram tiradas das matemáticas e são comuns a outras linguagens, podemos vê-las a seguir.

() [] . Parêntesis, colchetes e o operador ponto que serve para os objetos

! - ++ — negação, negativo e incrementos

* / % Multiplicação, divisão e módulo

+- Soma e diferença

<< >> >>> Mudanças a nível de bit

< <= > >= Operadores condicionais

== != Operadores condicionais de igualdade e desigualdade

& ^ | Lógicos a nível de bit

&& || Lógicos boleanos

= += -= *= /= %= <<= >>= >>>= &= ^= != Atribuição

Nos seguintes exemplos podemos ver como as expressões poderiam chegar a ser confusas, mas com a tabela de precedência de operadores poderemos entender sem erros qual é a ordem pela qual se executam.

12 * 3 + 4 - 8 / 2 % 3

Neste caso, primeiro se executam os operadores * / y %, da esquerda a direita, com o qual se realizariam estas operações. Primeiro a multiplicação e logo a divisão por estar mais à esquerda do módulo.

36 + 4 - 4 % 3

Agora o módulo.

36 + 4 - 1

Por último as somas e as diferenças da esquerda para direita.

40 - 1

39

De qualquer forma, é importante se dar conta que o uso dos parênteses pode nos economizar muitos quebra-cabeças e, sobretudo, a necessidade de sabermos de memória a tabela de precedência dos operadores. Quando virmos pouco claro a ordem com a qual se executarão as sentenças podemos utilizá-las e assim, forçar que se avalie antes o pedaço da expressão que se encontra dentro dos parênteses.




Na empresa que trabalha, existe uma área ou profissional de Arquitetura de Informação?
View Results
   
Veja também:

Leave a Reply