4. Expressions. Operadors

 

Índex

Assignacions

En darrer terme, tots els canvis produïts per un programa de JavaScript consisteixen a modificar algun valor d'alguna variable:

La forma més simple - no pas l'única - de canviar una propietat consisteix a fer servir una instrucció d'assignació. En una instrucció d'assignació, un portador de valor copia el seu valor sobre un altre. La fórmula general és

Cal notar bé que

Nota: en els exemples següents es fan servir molt els quadres d'alterta; llegiu-ne bé el contingut!

Exemple

 

Concepte d'expressió

Una expressió és un conjunt format per un o més literals o variables i un o més operadors; aquest conjunt equival, segons els casos, a un text, a un nombre o a un valor lògic (true o false).

Les expressions poden anar a la dreta en una instrucció d'assignació, i així transmeten el seu valor al portador de valor de l'esquerra.

En són exemples

 

Concatenació

El signe + aplicat a un conjunt format per literals de text i per variables que continguin un text, produeix la concatenació dels elements; el resultat és un text.

El valor d'aquesta expressió és una cadena de text que inclou el valor de la variable numèrica temps i de la variable textual seleccionat.

Exemple

 

Operadors aritmètics

Els operadors aritmètics bàsics són:

Operador Actuació Exemple
+ suma 3+2
- resta (aplicat a una sola dada implica canviar-ne el signe, com ara -5) 5-3
* multiplicació 2*x
/ divisió codi/4
% resta o mòdul d'una divisió (No té res a veure amb percentatges!) 12%5
Exemple

Les operacions matemàtiques complexes exigeixen un ús sistemàtic i curós dels parèntesis.

Exemple

 

Operadors de substitució

Hi ha operadors que actuen sobre una sola variable, el valor de la qual modifiquen:

Operador Actuació Exemple Equivalència
++ Incrementa el valor en una unitat. i++ i=i+1
-- Disminueix el valor en una unitat. any-- any=any-1
+= Suma i substitueix. num+=3 num=num+3
-= Resta i substitueix. k-=7 k=k-7
*= Multiplica i substitueix. h*=4 h=h*4
/= Divideix i substitueix pel valor del quocient. q/=2 q=q/2
%= Divideix i substitueix pel valor del mòdul. r%=7 r=r%7
&= Fes la concatenació i substitueix pel valor concatenat. a&=b a=a+b (variables de text)
Exemple

 

Textos de contingut numèric

En JavaScript les variables que contenen un text són sempre variables de text. Però les variables que només contenen nombres (inclosos els negatius indicats amb el signe -) són variables de text o numèriques segons el context:

Qualsevol variable de text de contingut numèric esdevé automàticament una variable numèrica quan entra en contacte amb un operador aritmètic qualsevol.

Però aquesta transformació no es produeix pas en el cas de la suma: el signe + representa alhora la concatenació i la suma, i hi predomina el caràcter textual.

Podem transformar un text de contingut numèric en un nombre mitjançant la funció eval():

És aconsellable fer aquesta conversió sempre que hàgim entrat nombres per un prompt() i despreocupar-se de quines operacions hi ha darrere.

Exemple

Aquest ús d'eval() és només un dels diversos que té aquesta funció, i que analitzarem més endavant.