Expressions

Expressile se utilizeaza pentru aritmetica, concatenare de stringuri, evaluare operatori logici, expresii logice.

Exemplu
... var a = 1 + 1; //a = 2   var message = "Hello " + name;   if (a == 1 and b == 1) { }; ...

Expressile se evalueaza de la stanga la dreapta dar tinand cont de nivelul de precedenta al operatorilor si de grupari (paranteze).

Daca intr-o expresie exista mai multe tipuri de date (string, date, number etc.) se incearca conversia operandului din dreapta la tipul operandului din stanga. Ordinea de conversie este aceeasi cu ordinea de evaluare.

Conversia automata este disponibila doar pentru anumite tipuri de date, pentru celelalte trebuie realizata conversia manual.

Exemplu
var count = 2; /* operandul din stanga este de tip string si se realizeaza conversia operandului drept la string */ var message = "Count is: " + count; //message va contine string-ul "Count is: 2" /* operandul din stanga este de tip number si se incearca conversia operandului drept la number */ var message = count + " is the count."; //va ridica exceptie de conversie /* pentru rezolvarea acestei situatii se introduce in stanga un string gol */ var message = "" + count + " is the count."; //message va contine string-ul "2 is the count."

Operatori si nivelul de precedenta

Precedenta

Clasa

Operatori

Descriere

Precedenta

Clasa

Operatori

Descriere

5

Unary

operand

Minus

4

Operatori de comparatie



== si !=

Egal si Diferit

< si >

Mai mic si Mai mare

<= si >=

Mai mic sau egal si Mai mare sau egal

3

Operatori logici

xor, and si or

Si si Sau

2

Operatori aritmetici

* si /

Înmulțire și Împărțire

%

Modulo (restul împărțirii a două numere întregi)

1

+ si -

Adunare și Scădere

Se evalueaza mai intai operatorii cu precedenta mai mare.