Operadors

Els operadors permeten manipular el valor de les variables, realitzar operacions matemàtiques amb els valors i comparar les diferents variables.

Assignació

L'operador d'assignació ( = ) serveix per emmagatzemar un valor en una variable.

Assigna la part de la dreta de l'igual a la part de l'esquerra. A la dreta es col·loquen els valors finals i a l'esquerra generalment es col·loca una variable on volem guardar la dada.

var numero1 = 3; 
var numero2 = 4; 
 
5 = numero1;
/* Error, l'assignació sempre es realitza a una variable, pel que en l'esquerra 
no es pot indicar un nombre */ 
 
numero1 = 5; 			    // Ara, la variable numero1 val 5 

numero1 = numero2;    // Ara, la variable numero1 val 4 

Operadors aritmètics

S'utilitzen per a la realització d'operacions matemàtiques simples com la suma, resta o multiplicació.

Són les següents:

Operador
Nom
Descripció

+

Suma

-

Resta

També pot utilitzar-se per canviar el signe d'un número si s'utilitza amb un sol operand (p.ex. -23).

*

Multiplicació

/

Divisió

%

Residu

Residu de la divisió de dos números (3%2 retorna 1 , el residu de dividir 3 entre 2).

Operadors d'assignació

Els operadors matemàtics també es poden combinar amb l'operador d'assignació per abreviar la seva notació.

var nombre1 = 5; 
nombre1 += 3;   // nombre1 = nombre1 + 3 = 8 
nombre1 -= 1;   // nombre1 = nombre1 - 1 = 4 
nombre1 *= 2;   // nombre1 = nombre1 * 2 = 10 
nombre1 /= 5;   // nombre1 = nombre1 / 5 = 1 
nombre1 %= 4;   // nombre1 = nombre1 % 4 = 1  

Increment i decrement

S'utilitza per incrementar (++) o decrementar (--) en una unitat el valor d'una variable.

Aquests dos operadors només són vàlids per a les variables numèriques.

Dues formes equivalents d’incrementar un nombre:

var nombre = 5; 
nombre = nombre + 1; 
alerta(nombre); // nombre = 6

/* Equival a... */

var nombre = 5; 
++nombre; 
alerta(nombre); // nombre = 6

Dues formes equivalents de decrementar un nombre:

var nombre = 5; 
nombre = nombre - 1; 
alerta(nombre); // nombre = 4

/* Equival a ... */

var nombre = 5; 
--nombre; 
alerta(nombre); // nombre = 4

Els operadors d'increment i decrement no només es poden indicar com a prefix del nom de la variable, sinó que ho poden fer com a sufix.

var nombre = 5; 
nombre++; 
alerta(nombre); // nombre = 6

Si l'operador ++ s'indica com a prefix del nom de la variable, el valor s'incrementa abans de fer qualsevol altra operació.

var nombre1 = 5; 
var nombre2 = 2; 
nombre3 = ++nombre1 + nombre2; // nombre3 = 8

Si l'operador ++ s'indica com a sufix del nom de la variable, el valor s'incrementa després d'executar la sentència en la qual apareix.

var nombre1 = 5; 
var nombre2 = 2; 
nombre3 = nombre1++ + nombre2; // nombre3 = 7

Operadors lògics

Els operadors lògics serveixen per realitzar operacions lògiques, que són aquelles que donen com resultat valor boolèa (true o false ).

Operador AND (&&)

El resultat només és true si els dos operands són true.

var valor1 = true; 
var valor2 = false; 
resultat = valor1 && valor2; // resultat = false 
 
valor1 = true; 
valor2 = true; 
resultat = valor1 && valor2; // resultat = true

Operador OR (||)

El resultat és true si algun dels dos operands és true.


var valor1 = true; 
var valor2 = false; 
resultat = valor1 || valor2; // resultat = true
 
valor1 = false; 
valor2 = false; 
resultat = valor1 || valor2; // resultat = false

Operador NO o negació (!)

S'utilitza per canviar el valor booleà d'una variable. Si una variable val true, la negació de la variable passa a valer false i viceversa.

var visible = true; 
alerta (!visible); // Mostra "false"

Operadors relacionals

Els operadors condicionals s'utilitzen en les expressions condicionals per prendre decisions.

Operadors condicionals:

Operadors de cadenes

L'operador**+**concatena dues cadenes, enganxa la segona cadena a continuació de la primera.

let cadena1 = "hola";
let cadena2 = "mundo";
let cadenaConcatenada = cadena1 + cadena2; //cadena concatenada val "holamundo"

Javascript és prou llest per entendre quin tipus d'operació realitzar mitjançant una comprovació dels tipus que estan implicats en l'operació.

let miNumero = 23;
let miCadena1 = "pep";
let miCadena2  = "456";

let resultado1 = miNumero + miCadena1; //resultado1 val "23pep"
let resultado2 = miNumero + miCadena2; //resultado2 val "23456"
let miCadena2 += miNumero; //miCadena2 ahora val "45623"

Precedència dels operadors

Els operadors s'avaluen d'esquerra a dreta, però hi ha unes normes addicionals, per les quals determinats operadors s'avaluen abans que altres.

Moltes d'aquestes regles de precedència estan tretes de les matemàtiques i són comuns a altres llenguatges, les podem veure a continuació.

Prioritat dels operadors:

Operador
Significat

(), []

Parèntesi, claudàtors

!, -, ++, --

negació, negatiu, increments o decrements

*, /, %

Multiplicació, divisió i mòdul (residu de la divisió)

+, -

Suma i resta

<, <=, >, >=

Operadors condicionals

==, !=

Operadors condicionals d'igualtat i desigualtat

&, ^, |

Operadors lògics a nivell de bit

&&, || Operadors lògics booleans

=, +=, -=, *=, /=, %=, <<=, >>=, >>>=, &=, ^=, !=

Assignació

Exemple:

En el següent exemple podem veure com les expressions podrien arribar a ser confuses, però amb la taula de precedència d'operadors podrem entendre sense errors quin és l'ordre pel qual s'executen.

12 * 3 + 4 - 8 / 2 % 3

En aquest cas primer s'executen els operadors *, / i %, d'esquerra a dreta, de manera que es farien aquestes operacions. Primer la multiplicació i després la divisió per estar més a l'esquerra de la lliçó.

36 + 4 - 4 % 3

Ara el mòdul.

36 + 4 - 1

Finalment les sumes i les restes d'esquerra a dreta.

40 - 1

El que ens dóna com a resultat el valor següent.

39

L'ús dels parèntesis pot estalviar-nos molts mals de cap i sobretot la necessitat de saber-nos de memòria la taula de precedència dels operadors

Quan veiem poc clar l'ordre amb el qual s'executaran les sentències podem utilitzar-los i així forçar que s'avaluï abans el tros d'expressió que es troba dins dels parèntesis.

Última actualización

¿Te fue útil?