23 de novembro de 2013 –
15:24
O conteúdo contido aqui também pode ser encontrado em: http://www.mspc.eng.br/info/jscriptOper.shtml
|
|
|
|
|
|
São símbolos, em geral de um ou poucos caracteres, que permitem
operações aritméticas, lógicas, etc. Em outras palavras, são
usados basicamente para modificar valores de variáveis. Nesta página
são dados os operadores de JavaScript em forma de tabelas
classificadas por grupo funcional.
Observação: além da classificação funcional, os operadores podem
ser unitários (se usam apenas um argumento. Exemplo: a++,
onde a é a variável ou argumento e ++ é
o operador) ou binários (se usam dois argumentos. Exemplo: a
+ b, onde a e b
são variáveis e + é o operador).
|
|
|
Operadores Aritméticos:
|
|
| Operador |
Descrição |
Exemplo(s) |
| + |
Soma valores. |
a = 2 + 3;
b = b +1; |
| - |
Subtrai valores (como operador
binário). |
x = x - 5;
x = a - b |
| - |
Muda sinal (como operador
unitário). |
x = -x;
x = -(a + b); |
| * |
Multiplica valores. |
a = 2 * 3;
b = c * 5; |
| / |
Divide valores. |
a = 50 / 3;
b = b * 4; |
| % |
Resto da divisão. |
d = 5 % 3;
d assume valor 2. |
| ++(var) |
Incremento de 1 (antes). |
Se x é 2, y
= ++x faz x igual a 3 e depois y igual a 3. |
| (var)++ |
Incremento de 1 (depois). |
Se x é 2, y
= x++ faz y igual a 2 e depois x igual a 3. |
| --(var) |
Decremento de 1 (antes). |
Se x é 2, y
= --x faz x igual a 1 e depois y igual a 1. |
| (var)-- |
Decremento de 1 (depois). |
Se x é 2, y
= x-- faz y igual a 2 e depois x igual a 1. |
|
Operadores bit-a-bit:
|
|
|
|
| Operador |
Descrição |
Exemplo(s) |
| & |
E bit-a-bit: retorna bit 1 para
cada posição de bits iguais a 1 nos operandos e zero nos
demais casos. |
15 em binário é 1111
3 em binário é 0011
15 & 3 retorna 3 (0011) |
| | |
OU bit-a-bit: retorna bit 1 para
cada posição de bits com pelo menos um deles igual a 1 e
zero nos demais casos. |
15 em binário é 1111
3 em binário é 0011
15 | 3 retorna 15 (1111) |
| ^ |
OU EXCLUSIVO bit-a-bit: retorna bit
1 para cada posição com bits diferentes nos operandos e zero
se iguais. |
15 em binário é 1111
3 em binário é 0011
15 ^ 3 retorna 12 (1100) |
| ~ |
NÃO bit-a-bit: inverte os bits do
operando. |
a = ~3;
Faz a igual a -4 |
| << |
Desloca para a esquerda os bits do
primeiro operando no valor do segundo operando. Bits zero são
preenchidos à direita. |
a = 3<<2;
Faz a igual a 12 (0011 deslocando
2 bits e com zeros à direita fica 1100) |
| >> |
Desloca para a direita os bits do
primeiro operando no valor do segundo operando. O sinal é
preservado. |
a = 16>>2;
Faz a igual a 4 (10000 deslocando
2 bits à direita fica 100) |
| >>> |
Desloca para a direita os bits do
primeiro operando no valor do segundo operando, preenchendo
zeros à esquerda. |
a = 16>>>2;
Faz a igual a 4 (10000 deslocando
2 bits à direita fica 00100) |
|
|
|
Operadores de atribuição:
|
|
| Operador |
Descrição |
Exemplo(s) |
| = |
Atribui o valor do operando
esquerdo ao operando direito. |
x = 3;
a = b + c; |
| += |
Soma 2 valores e atribui o
resultado ao primeiro valor. |
x += 3;
Se x era 1, passa para 4. |
| -= |
Subtrai 2 valores e atribui o
resultado ao primeiro. |
x -= 3;
Se x era 1, passa para -2. |
| *= |
Multiplica 2 valores e atribui o
resultado ao primeiro. |
x *= 2;
Se x era 4, passa para 8. |
| /= |
Divide 2 valores e atribui o
resultado ao primeiro. |
x /= 2;
Se x era 4, passa para 2. |
| %= |
Calcula o resto da divisão de 2
valores e atribui o resultado ao primeiro. |
x %= 2;
Se x era 3, passa para 1. |
| &= |
Computa E lógico bit-a-bit de 2
valores e atribui o resultado ao primeiro. |
x = 15;
x &= 3; // faz x igual a 3
Equivale a x = x & 3; |
| |= |
Computa OU lógico bit-a-bit de 2
valores e atribui o resultado ao primeiro. |
x = 15;
x |= 3; // faz x igual a 15
Equivale a x = x | 3; |
| ^= |
Computa OU EXCLUSIVO lógico
bit-a-bit de 2 valores e atribui o resultado ao primeiro. |
x = 15;
x ^= 3; // faz x igual a 12
Equivale a x = x ^ 3; |
| <<= |
Deslocamento à esquerda e
atribuição do resultado ao primeiro. |
x = 3;
x <<= 2; // faz x igual a 12
Equivale a x = x << 3; |
| >>= |
Deslocamento à direita e
atribuição do resultado ao primeiro. |
x = 16;
x >>= 2; // faz x igual a 4
Equivale a x = x >> 2; |
| >>>= |
Deslocamento à direita com
preenchimento de zeros. |
x = 16;
x >>>= 2; // faz x igual a 4
Equivale a x = x >>> 2; |
|
Obs: para operações lógicas bit-a-bit e deslocamentos à esquerda
ou à direita, ver mais detalhes no tópico Operadores
bit-a-bit.
|
|
|
Operadores de comparação:
|
|
| Operador |
Descrição |
Exemplo(s), supondo a = 3
e b = 5 |
| == |
Verdadeiro se os operandos são
iguais. Se não são do mesmo tipo, a linguagem tenta
converter para a correta comparação. |
a == 3; // retorna verdadeiro
a == b; // retorna falso |
| != |
Verdadeiro se os operandos não
são iguais. Se não são do mesmo tipo, a linguagem tenta
converter para a correta comparação. |
a != 3; // retorna falso
a != b; // retorna verdadeiro |
| === |
Verdadeiro se os operandos são
iguais e do mesmo tipo. |
a === 3; // retorna verdadeiro
a === "3"; // retorna falso |
| !== |
Verdadeiro se os operandos não
são iguais ou não são do mesmo tipo. |
a !== b; // retorna verdadeiro
a !== "3"; // retorna verdadeiro |
| > |
Verdadeiro se o operando esquerdo
é maior que o direito. |
a > b; // retorna falso
b > a; // retorna verdadeiro |
| >= |
Verdadeiro se o operando esquerdo
é maior ou igual ao direito. |
a >= 3; // retorna verdadeiro
b >= 7; // retorna falso |
| < |
Verdadeiro se o operando esquerdo
é menor que o direito. |
a < b; // retorna verdadeiro
b < a; // retorna falso |
| <= |
Verdadeiro se o operando esquerdo
é menor ou igual ao direito. |
a <= 3; // retorna verdadeiro
a <= 0; // retorna falso |
|
|
|
Operadores de strings:
|
|
| Operador |
Descrição |
Exemplo(s) |
| + |
Concatenar strings. |
str_1 = "Bom";
str_2 = str_1 + " dia";
str_2 contém "Bom dia" |
| += |
Concatenar e atribuir o resultado
ao operando da esquerda. |
str_1 = "Bom";
str_1 += " dia";
str_1 contém "Bom dia" |
|
|
|
| Operadores lógicos: |
|
Em geral são usados com expressões que retornam valores booleanos,
isto é, verdadeiro ou falso.
|
| Operador |
Descrição |
Exemplo(s), supondo a = 3
e b = 5 |
| && |
E lógico: retorna verdadeiro se
ambas as expressões são verdadeiras e falso nos demais casos |
a==3 && b<10 // retorna
verdadeiro
a!=3 && b==5 // retorna falso |
| || |
OU lógico: retorna verdadeiro se
pelo menos uma das expressões é verdadeira e falso se todas
são falsas |
a==3 || b<10 // retorna
verdadeiro
a!=3 || b==5 // retorna verdadeiro
a==1 || b==3 // retorna falso |
| ! |
NÃO lógico: retorna verdadeiro se
o operando é falso e vice-versa |
! (a==3) // retorna falso
! (a!=3) // retorna verdadeiro |
|
|
|
Outros operadores:
|
|
| Operador |
Descrição |
Exemplo(s) |
| ?: |
Operador condicional na forma:
condição? exp_1 : exp_2
Se condição é verdadeira, retorna exp_1 e, se é falsa,
retorna exp_2. |
val = com_frete? "110,00"
: "100,00";
document.write("Preço: " + val);
Se com_frete é verdadeiro, escreve:
"Preço: 110,00" |
| , |
Operador vírgula na forma:
exp_1, exp_2
Calcula ou avalia ambas as expressões. |
Uso comum é em loops tipo for:
for(m=0,n=0; m<5; m++,n++){... |
| delete |
Exclui um objeto, uma propriedade
de objeto, um elemento de uma array ou uma variável
explicitamente declarada com var.
Para elemento de array, não altera o seu tamanho. Apenas o
elemento fica indefinido. |
val = new Array(10);
delete val[4];
delete val;
var nivel = 20;
delete nivel; |
| new |
Cria um novo objeto entre aqueles
já existentes na linguagem (str = new
String("abc"), etc) ou cria um objeto definido pelo
usuário. |
function prod(nome,unidade,valor){
this.nome = nome;
this.unidade = unidade;
this.valor = valor;
}
P01 = new prod("banana","kg",2.00); |
| this |
Faz referência ao objeto em uso. |
<b>Digite 6 a 10
caracteres</b>
<input type="text" name="ab" size=10
onChange="verificar(this)">
A função verificar (a definir) recebe como parâmetro a
caixa de texto, o que permite verificar a quantidade de
caracteres digitados. |
| typeof |
Retorna uma string indicativa do
tipo de operando. |
var val = 10;
typeof val retorna "number"
str = "abc";
typeof str retorna "string" |
| void |
Indica uma expressão para ser
avaliada mas sem retornar nenhum valor. |
O código abaixo cria um hyperlink
nulo, isto é, nada abre:
<a href="javascript:void(0)">Este link nada
abre</a> |
|
|
|