Le variabili si dichiarano elegantemente
 var pippo, pluto = 5, paperino = "a";
Poi però ci fai quel che vuoi ed ad una variabile intera puoi assegnare una stringa in perfetto stile spaghetti-programming

pluto = "dd";

Il giochino del pre o post increment è da segnalare.

var pippo, pluto = 5, paperino = pluto++;
alert( paperino ) ;
alert( pluto ) ;

Il pezzetto di codice qui sopra restituirà 5 e 6, mentre il pezzetto di codice qui sotto :


var pippo, pluto = 5, paperino = ++pluto;
alert( paperino ) ;
alert( pluto ) ;

  restituirà 6 e 6 .

Nel primo caso prima viene restituita la variabile e poi incrementata, mentre nel secodo viene prima eseguita la funzione di incremento e poi l'assegnazione.

Ovviamente si può usare

 paperino  += 3; paperino  /= 3; paperino  %= 3;  

ecc..

I tipi dato primitivi di javscript sono un inno alla semplicità :

Number = Tutti i numeri
String = Stringhe
Boolean = true e false

Se si vuol accedere ad una variabile non dichiarata si riceve un undefined, se invece è nulla un null. Poi c' Infinity per segnare un numero troppo grande e NaN per segnalare che un numero non è un numero.

Per sapere il tipo di una varibile c'è il solito typeof e per scrive un esadecimale basta metterci davanti 0x, riassumendo :

alert( typeof  piopppi ) ;  // undefined
var pippo, pluto = 5, paperino = ++pluto;
alert( typeof pluto ) ; // number
pluto = "sss"; 
alert( typeof pluto ) ; // string
pluto = 0xff;
alert( pluto ) ; // 255
pluto = pluto * "d";
alert( pluto ) ; //NaN
pluto = 100 /0 ;
alert( pluto ) ; // Infinity