back to top

Gli operatori di Javascript

In una precedente lezione abbiamo visto come defininire e valorizzare delle variabili in Javascript ed abbiamo visto che queste possono assumere diversi valori corrispondenti a diversi tipi di dato (stringa, numerico, booleano, ecc.). Se è vero che le variabili svolgono un ruolo da primo iano in un qualsiasi programma, è altrettanto vero che lo è altrettanto saper svolgere su di esse determinate operazioni come, ad esempio, operazioni matematiche, confronti, concatenazioni, ecc.

Tutte queste operazioni sono fondamentali all’interno di un programma in quanto è attraverso di esse che il flusso di codice riesce a raggiungere il risultato (l’elaborazione) che il programmatore si è prefissato.

In realtà alcuni operatori li abbiamo già incontrati nella lezione dedicata alle variabili, si tratta dei cosidetti operatori di assegnazione che sono utilizzati, come il nome lascia intendere, appunto per assegnare un valore ad una variabile. In questa lezione vedremo altre "famiglie" di operatori, più precisamente: operatori di concatenazione, operatori matematici, operatori di confronto e operatori logici.

Operatori di concatenazione

Gli operatori di concatenazione agiscono sulle stringhe e servono, come il nome lascia intendere, a concatenare due o più variabili stringa.

Operatore +

Attraverso il simbolo matematico del + è possobile concatenare due variabili stringa. Ad esempio:

var str1 = 'Mr.';
var str2 = 'Webmaster';
document.write(str1 + str2);

stamperà a video "Mr.Webmaster".

Operatore +=

Attraverso l’operatore += viene concatenato il valore della variabile di sinistra all’espressione di destra:

var str1 = 'Mr.';
str1 += 'Webmaster';
document.write(str1);

stamperà a video "Mr.Webmaster".

Operatori matematici

Si tratta dei comuni operatori utilizzati per effettuare operazioni matematiche tra variabili numeriche. Questi sono:

  • + Esegue un’addizione
  • Esegue una sottrazione
  • * Esegue una moltiplicazione
  • / Esegue una divisione
  • % (modulo) calcola il resto intero della divisione tra due numeri

Oltre a questi devono essere ricordati gli operatori ++ e utilizzati, rispettivamente, per incrementare e decrementare di una unità un valore numerico passato per una routine. Ad esempio:

var num = 7;
num++;
documenti.write(num);

stamperà a video: 8

var num = 7;
num--;
documenti.write(num);

stamperà a video: 6

Operatori di confronto

Questi operatori possono agire su diversi tipi di variabili (stringa, numerica, booleana, ecc.) e sono utilizzati per effettuare, appunto, dei confronti. L’esito del confronto genera un valore booleano (TRUE o FALSE).

  • == Uguaglianza
  • != Diversità
  • < Minore
  • <= Minore o uguale
  • > Maggiore
  • >= Maggiore o uguale

Questo tipo di operatori assume un’importanza centrale all’interno delle strutture di controllo (o strutture condizionali) quando, cioè, l’esito del confronto tra due o più variabili diventa determinante al fine del comportamento del programma stesso.

Vediamo qualche esempio di utilizzo degli operatori di confronto:

var a = 10;
var b = 3;

if (a == b) { ... } // il controllo restituisce FALSE
if (a != b) { ... } // il controllo restituisce TRUE
if (a < b) { ... } // il controllo restituisce FALSE
if (a > b) { ... } // il controllo restituisce TRUE

Operatori logici

Un altra serie molto importante di operatori è costituita da quella simbologia che consente di effettuare operazioni logiche di associazione (AND), alternanza (OR) e negazione (NOT). Anche questi operatori sono utilizzati nelle strutture di controllo del flusso di programma.

  • && – L’operatore "AND" è utilizzato per creare condizioni complesse composte da una pluralità di sotto-condizioni; affinché la routine si verifichi è necessario che tutte le sotto-condizioni siano vere.
  • || – L’operatore "OR" è utilizzato per creare condizioni complesse composte da una pluralità di sotto-condizioni; affinché la routine si verifichi è necessario che almeno una delle sotto-condizioni sia vera.
  • ! – L’operatore "NOT" indica una negazione all’interno di una routine. In sostanza si usa per invertire il significato di una condizione.

Vediamo qualche esempio:

var a = 10;
var b = 3;
var c = 9;
var d = 24;

if (a == b && c < d) { ... } // il controllo restituisce FALSE
if (a != b && c < d) { ... } // il controllo restituisce TRUE
if (a > b || c == d) { ... } // il controllo restituisce TRUE
if (!(a > b)) { ... } // il controllo restituisce FALSE
Pubblicitร 
Massimiliano Bossi
Massimiliano Bossi
Stregato dalla rete sin dai tempi delle BBS e dei modem a 2.400 baud, ho avuto la fortuna di poter trasformare la mia passione in un lavoro (nonostante una Laurea in Giurisprudenza). Adoro scrivere codice e mi occupo quotidianamente di comunicazione, design e nuovi media digitali. Orgogliosamente "nerd" sono il fondatore di MRW.it (per il quale ho scritto centinaia di articoli) e di una nota Web-Agency (dove seguo in prima persona progetti digitali per numerosi clienti sia in Italia che all'estero).