ho visto seguente dichiarazione da qualche parte -variabile Actionscript dichiarata come * (asterisco) digito
var someVariable:*;
Perché someVariable dichiarata come * (asterisco) tipo? A che serve dichiararlo in questo modo?
ho visto seguente dichiarazione da qualche parte -variabile Actionscript dichiarata come * (asterisco) digito
var someVariable:*;
Perché someVariable dichiarata come * (asterisco) tipo? A che serve dichiararlo in questo modo?
La differenza pratica tra *
e Object
è che *
può essere undefined
che Object
non può.
La documentazione hanno this da dire:
Specifica che una proprietà è senza tipo. L'uso del simbolo asterisco per un'annotazione del tipo equivale all'utilizzo di nessuna annotazione del tipo. Le espressioni che leggono da proprietà non tipizzate sono considerate espressioni non tipizzate. Si consiglia l'utilizzo di espressioni o proprietà non tipizzate nelle seguenti circostanze:
Quando si desidera rinviare il controllo del tipo in fase di esecuzione. È possibile utilizzare una proprietà o un'espressione non tipizzata per aggirare il controllo del tipo in fase di compilazione in modalità rigorosa. Si noti, tuttavia, che il controllo del tipo di esecuzione delle istruzioni di assegnazione si verifica sia che si utilizzi la modalità rigorosa o meno.
Quando si desidera memorizzare il valore non definito in una proprietà. A differenza delle versioni precedenti di ActionScript, il valore non definito non è un membro del tipo di dati Oggetto. È necessario utilizzare una proprietà non tipizzata per archiviare il valore non definito.