Descrizione dei tipi di dati

I tipi di dati di base sono Boolean, int, Null, Number, String, uint e void. Le classi ActionScript di base definiscono inoltre i seguenti tipi di dati complessi: Object, Array, Date, Error, Function, RegExp, XML e XMLList.

Sezioni

Tipo di dati Boolean
Tipo di dati int
Tipo di dati Null
Tipo di dati Number
Tipo di dati String
Tipo di dati uint
Tipo di dati void
Tipo di dati Object

Tipo di dati Boolean

Il tipo di dati Boolean comprende due valori: true e false. Nessun altro valore è consentito per le variabili di questo tipo. Il valore predefinito di una variabile Boolean dichiarata ma non inizializzata è false.

Tipo di dati int

Il tipo di dati int è memorizzato internamente come numero intero a 32 bit e comprende la serie di
numeri interi da -2.147.483.648 (-231) a 2.147.483.647 (231 - 1). Le versioni precedenti di ActionScript offrivano solo il tipo di dati Number, utilizzato sia per i numeri interi che per quelli a virgola mobile. In ActionScript 3.0 è ora possibile accedere ai tipi macchina di basso livello per i numeri interi a 32 bit con e senza segno. Se la variabile non deve usare numeri a virgola mobile, l'impiego del tipo di dati int al posto di Number dovrebbe garantire maggiore velocità ed efficienza.

Per i numeri interi al di fuori dell'intervallo dei valori minimo e massimo, utilizzare il tipo di dati Number, che è in grado di gestire i valori compresi tra -9.007.199.254.740.992 e 9.007.199.254.740.992 (valori interi a 53 bit). Il valore predefinito per le variabili del tipo di dati int è 0.

Tipo di dati Null

Il tipo di dati Null contiene un solo valore, null. Questo è il valore predefinito per il tipo di dati String e per tutte le classi che definiscono tipi di dati complessi, compresa la classe Object. Nessuno degli altri tipi di dati di base, come Boolean, Number, int e uint, contiene il valore null. Se si tenta di assegnare null a variabili del tipo Boolean, Number, int o uint, Flash Player converte null nel valore predefinito appropriato. Non è possibile utilizzare questo tipo di dati come annotazione di tipo.

Tipo di dati Number

In ActionScript 3.0, il tipo di dati Number può rappresentare numeri interi, numeri interi senza segno e numeri a virgola mobile. Tuttavia, per ottimizzare le prestazioni, è meglio utilizzare il tipo di dati Number solo per i numeri interi maggiori dei numeri a 32 bit memorizzabili dai tipi int e uint, oppure per i numeri a virgola mobile. Per memorizzare un numero a virgola mobile, includere il punto dei decimali nel numero; se si omette il punto dei decimali, il valore viene memorizzato come numero intero.

Il tipo di dati Number utilizza il formato a doppia precisione a 64 bit specificato dallo standard IEEE 754 per i calcoli aritmetici binari a virgola mobile, che prescrive come devono essere memorizzati i numeri a virgola mobile utilizzando i 64 bit disponibili. Un bit serve per designare il numero come positivo o negativo, undici bit sono utilizzati per l'esponente (memorizzato come base 2) e i rimanenti 52 bit servono per memorizzare il significante (chiamato anche mantissa), ovvero il numero che viene elevato alla potenza indicata dall'esponente.

Utilizzando alcuni dei bit per memorizzare un esponente, il tipo di dati Number può memorizzare numeri a virgola mobile notevolmente più grandi che non se utilizzasse tutti i bit per il significante. Ad esempio, se il tipo di dati Number utilizzasse tutti i 64 bit per memorizzare il significante, il numero più grande che potrebbe memorizzare sarebbe 265 - 1. Utilizzando 11 bit per memorizzare un esponente, il tipo di dati Number può elevare il significante fino a una potenza di 1023.

I valori massimo e minimo che il tipo Number può rappresentare sono memorizzati in proprietà statiche della classe Number denominate Number.MAX_VALUE e Number.MIN_VALUE.

Number.MAX_VALUE == 1.79769313486231e+308
Number.MIN_VALUE == 4.940656458412467e-324

Un intervallo di numeri così ampio va a scapito della precisione. Il tipo di dati Number utilizza 52 bit per memorizzare il significante, con il risultato che i numeri che richiedono più di 52 bit per essere rappresentati con precisione, ad esempio la frazione 1/3, sono solo approssimazioni. Se l'applicazione richiede una precisione assoluta per i numeri decimali, è necessario utilizzare un software in grado di implementare i calcoli aritmetici a virgola mobile decimali anziché quelli binari.

Quando si memorizzano valori interi con il tipo di dati Number, vengono utilizzati solo i 52 bit del significante. Il tipo di dati Number usa questi 52 bit e un bit speciale nascosto per rappresentare i numeri interi da -9.007.199.254.740.992 (-253) a 9.007.199.254.740.992 (253).

Flash Player utilizza il valore NaN non solo come valore predefinito per le variabili di tipo Number, ma anche come risultato di qualunque operazione che dovrebbe restituire un numero e invece restituisce un valore diverso. Ad esempio, se si tenta di calcolare la radice quadrata di un numero negativo, il risultato è NaN. Altri valori Number speciali sono infinito positivo e infinito negativo.

NOTA

 

Il risultato della divisione per 0 è NaN solo se anche il divisore è 0. La divisione per 0 dà il risultato infinito se il dividendo è positivo oppure -infinito se è negativo.

Tipo di dati String

Il tipo di dati String rappresenta una sequenza di caratteri a 16 bit. Le stringhe vengono memorizzate internamente come caratteri Unicode, utilizzando il formato UTF-16. Come nel linguaggio di programmazione Java, le stringhe sono valori immutabili. Un'operazione su un valore String restituisce una nuova istanza della stringa. Il valore predefinito di una variabile dichiarata con il tipo di dati String è null. Il valore null non è equivalente a una stringa vuota (""), anche se entrambi rappresentano l'assenza di caratteri.

Tipo di dati uint

Il tipo di dati uint è memorizzato internamente come numero intero a 32 bit senza segno e comprende la serie di numeri interi da 0 a 4.294.967.295 (232 - 1). Utilizzare il tipo di dati uint in circostanze speciali che richiedono numeri interi non negativi. Ad esempio, va necessariamente utilizzato per rappresentare i valori di colore dei pixel, perché il tipo di dati int ha un bit di segno interno che non è appropriato per la gestione dei valori di colore. Per i numeri interi maggiori del valore uint massimo, utilizzare il tipo di dati Number, che è in grado di gestire i valori interi a 53 bit. Il valore predefinito per le variabili del tipo di dati uint è 0.

Tipo di dati void

Il tipo di dati void contiene un solo valore, undefined. Nelle versioni precedenti di ActionScript, undefined era il valore predefinito per le istanze della classe Object. In ActionScript 3.0, il valore predefinito delle istanze Object è null. Se si tenta di assegnare il valore undefined a un'istanza della classe Object, Flash Player converte il valore in null. È possibile assegnare il valore undefined solo alle variabili senza tipo, ovvero quelle che sono prive di un'annotazione di tipo oppure utilizzano l'asterisco (*) come annotazione. È possibile utilizzare void solo come annotazione del tipo restituito.

Tipo di dati Object

Il tipo di dati Object è definito dalla classe Object, che viene utilizzata come classe di base per tutte le definizioni di classe in ActionScript. La versione ActionScript 3.0 del tipo di dati Object differisce dalle versioni precedenti per tre aspetti. Innanzi tutto, il tipo di dati Object non è più il tipo predefinito assegnato alle variabili prive di annotazione di tipo. In secondo luogo, il tipo Object non include più il valore undefined, che era il valore predefinito di tutte le istanze Object. Infine, in ActionScript 3.0 il valore predefinito delle istanze della classe Object è null.

Nelle versioni precedenti di ActionScript, a una variabile priva di annotazione di tipo veniva assegnato automaticamente il tipo di dati Object. ActionScript 3.0, al contrario, prevede la possibilità di variabili effettivamente prive di tipo. Pertanto, le variabili per le quali non viene fornita un'annotazione di tipo vengono ora considerate senza tipo. Se si preferisce rendere esplicito a chi leggerà il codice che l'intenzione è effettivamente quella di lasciare una variabile priva di tipo, è possibile utilizzare il nuovo simbolo di asterisco (*) come annotazione di tipo, che equivale a omettere l'annotazione. L'esempio seguente mostra due istruzioni equivalenti, che dichiarano entrambe una variabile senza tipo x:

var x
var x:*

Solo le variabili senza tipo possono contenere il valore undefined. Se si tenta di assegnare il valore undefined a una variabile che appartiene a un tipo di dati, Flash Player converte il valore undefined nel valore predefinito del tipo di dati in questione. Per le istanze del tipo di dati Object, il valore predefinito è null. Pertanto, se si tenta di assegnare undefined a un'istanza Object, Flash Player converte il valore undefined in null.


Flash CS3

 

Inviami un messaggio e-mail quando vengono aggiunti dei commenti a questa | Rapporto sui commenti

Pagina corrente: http://livedocs.adobe.com/flash/9.0_it/main/00000047.html