Javascript e Tipi di Dati

Javascript è un linguaggio debolmente tipizzato. Ciò significa che il tipo di una variabile non va definito in fase di dichiarazione bensì viene stabilito a runtime, è il valore stesso della variabile che ne determina il tipo. Inoltre javascript ci offre l’opportunità di cambiare il tipo della variabile durante il flusso del programma:

var x = “sono una stringa”; // tipo di dato string
var y = 1; // tipo di dato integer
x = true; // tipo di dato boolean
y = 7.3 // tipo di dato float

I tipi di dato fondamentali in javascript sono i tipi Number, che si dividono in integer e float, Boolean e String.

È molto semplice lavorare su questi tipi di dati, per esempio è possible ottenere un numero da una stringa:
var int1 = parseInt( “5” ); // int1 vale 5
var int2 = parseInt( “2.4” ); // int2 vale 2
var int3 = parseFloat( “9” ); // int3 vale 9
var int4 = parseFloat( “5.1” ); // int4 vale 5.1
var int5 = parseFloat( “Luca” ); // int5 vale NaN
var int6 = parseInt(“5fg”) // int6 vale 5

Esiste un valore speciale fornito da javascript che viene restituito quando un operazione che dovrebbe lavorare su numeri non riesce a ‘castare’ gli input in numeri: NaN. Si può verificare preventivamente se una variabile contiene un numero utilizzando il metodo isNaN()

È possibile poi ottenere la rappresentazione come stringa di un numero:
var string1 = “”+3; // string1 vale “3”
var string2 = string1.toString() + “a”; // string1 vale “9a”

I tipi Boolean hanno solo due valori a loro disposizione: true e false. È facilmente intuibile che questo tipo di dato è utilizzato per lavorare con espressioni logiche:
var boolean1 = true;
var boolean2 = false;
if( boolean1 && boolean2 ) {
// …qui non si arriverà mai, codice non raggiungibile
}
if( boolean1 || boolean2 ) {
// …codice eseguito
}
var stringa = boolean1.toString(); // stringa vale “true”

I tipi stringa possono essere considerati come veri e propri array di singoli caratteri e sono dichiarate racchiuse tra doppi apici (“) oppure singoli apici (‘):
var stringa1 = “jquery”;
var stringa2 = ‘mootools’;
var stringa3 = string1 + ” e ” + string3; // stringa3 vale: “jquery e mootools”