Documentation Flash CS3 |
|||
| Programmation avec ActionScript 3.0 > Syntaxe et langage ActionScript > Types de données > Descriptions des types de données | |||
Les types de données primitifs peuvent être Boolean, int, Null, Number, String, uint, et void. Les classes ActionScript essentielles définissent également les types de données complexes suivants : Object, Array, Date, Error, Function, RegExp, XML, et XMLList.
Le type booléen est composé de deux valeurs : true et false. Les variables du type booléen ne prennent en charge aucune autre valeur. La valeur par défaut d'une variable booléenne qui a été déclarée mais non initialisée est false.
Le type de données int est stocké en interne en tant que nombre entier 32 bits et comprend l'ensemble des entiers allant de
-2,147,483,648 (-231) à 2,147,483,647 (231 - 1), compris. Les versions précédentes d'ActionScript offraient uniquement le type de données Number, qui était utilisé à la fois pour les nombres entiers et les nombres en virgule flottante. Dans ActionScript 3.0, vous avez maintenant accès à des types machine de bas niveau pour les nombres entiers 32 bits signés et non signés. Si votre variable ne doit pas utiliser de nombres en virgule flottante, l'utilisation du type de données int au lieu du type de données Number est plus rapide et plus efficace.
Pour les valeurs entières en dehors de la plage des valeurs int minimum et maximum, utilisez le type de données Number, qui peut gérer des valeurs positives et négatives 9,007,199,254,740,992 (valeurs entières 53 bits). La valeur par défaut pour des variables du type de données int est 0.
Le type de données Null contient une seule valeur, null. Il s'agit de la valeur par défaut pour le type de données String et toutes les classes qui définissent des types de données complexes, y compris la classe Object. Aucun des autres types de données primitifs (Boolean, Number, int et uint) ne contient la valeur null. Flash Player convertit la valeur null en la valeur par défaut appropriée si vous tentez d'affecter null à des variables de type Boolean, Number, int, ou uint. Vous ne pouvez pas utiliser ce type de donnés comme annotation de type.
Dans ActionScript 3.0, le type de données Number peut représenter des entiers, des entiers non signés et des nombres en virgule flottante. Néanmoins, pour optimiser les performances, utilisez le type de données Number uniquement pour des valeurs entières supérieures à ce que les types int et uint 32 bits peuvent stocker ou pour des nombres en virgule flottante. Pour stocker un nombre en virgule flottante, vous devez y insérer une virgule. Si vous omettez la virgule, le nombre est stocké comme nombre entier.
Le type de données Number utilise le format à deux décimales (64 bits) conformément à la norme IEEE 754. Cette norme dicte comment les nombres en virgule flottante sont stockés à l'aide des 64 bits disponibles. Un bit est utilisé pour désigner si le nombre est positif ou négatif. Onze bits sont utilisés pour l'exposant, qui est stocké comme base 2. Les 52 bits restants sont utilisés pour stocker le significande (également appelé mantisse), qui correspond au nombre élevé à la puissance indiqué par l'exposant.
En utilisant certains de ses bits pour stocker un exposant, le type de données Number peut stocker des nombres en virgule flottante beaucoup plus grands que s'il utilisait tous ses bits pour le significande. Par exemple, si le type de données Number a utilisé les 64 bits pour stocker le significande, il pourrait stocker un nombre aussi grand que 265 - 1. En utilisant 11 bits pour stocker un exposant, le type de données Number peut élever son significande à une puissance de 21023.
Les valeurs maximum et minimum que le type Number peut représenter sont stockées dans des propriétés statiques de la classe Number appelées Number.MAX_VALUE et Number.MIN_VALUE.
Number.MAX_VALUE == 1.79769313486231e+308 Number.MIN_VALUE == 4.940656458412467e-324
Bien que cette plage de nombres soit énorme, elle est d'une grande précision. Le type de données Number utilise 52 bits pour stocker le significande. Par conséquent, les nombres nécessitant plus de 52 bits pour une représentation précise (la fraction 1/3, par exemple), ne sont que des approximations. Si votre application exige une précision absolue avec des nombres décimaux, vous devez utiliser le logiciel qui met en oeuvre l'arithmétique flottante décimale plutôt que l'arithmétique flottante binaire.
Lorsque vous stockez des valeurs entières avec le type de données Number, seuls les 52 bits du significande sont utilisés. Le type de données Number utilise ces 52 bits et un bit masqué spécial pour représenter des nombres entiers de -9,007,199,254,740,992 (-253) à 9,007,199,254,740,992 (253).
Flash Player utilise la valeur NaN non seulement comme valeur par défaut pour des variables de type Number, mais également comme résultat de toute opération devant renvoyer un nombre mais ne le faisant pas. Par exemple, si vous tentez de calculer la racine carrée d'un nombre négatif, le résultat est NaN. D'autres valeurs Number spéciales comprennent l'infini positif et l'infini négatif.
|
REMARQUE |
|
Le résultat de la division par |
Le type de données String représente une séquence de caractères 16 bits. Les chaînes sont stockées en interne sous forme de caractères Unicode, au format UTF-16. Les chaînes sont des valeurs inaltérables, comme dans le langage de programmation Java. Toute opération effectuée sur une valeur String renvoie une nouvelle instance de la chaîne. La valeur par défaut d'une variable déclarée avec le type de données String est null. La valeur null n'est pas identique à la chaîne vide (""), même si elles représentent toutes les deux l'absence de caractères.
Le type de données uint est stocké en interne sous la forme d'un entier non signé 32 bits et est constitué de l'ensemble d'entiers compris entre 0 et 4,294,967,295 (232-1), inclus. Utilisez le type de données uint dans des situations spéciales nécessitant des entiers non négatifs. Par exemple, vous devez utiliser le type de données uint pour représenter les valeurs de couleur des pixels car le type de données int a un bit de signe interne non approprié pour la gestion des valeurs de couleur. Pour les valeurs d'entiers supérieures à la valeur uint maximale, utilisez le type de données Number qui peut gérer des valeurs d'entiers 53 bits. La valeur par défaut pour des variables du type de données uint est 0.
Le type de données void contient une seule valeur, undefined. Dans les versions précédentes d'ActionScript, undefined était la valeur par défaut pour les instances de la classe Object. Dans ActionScript 3.0, la valeur par défaut pour les instances Object est null. Si vous tentez d'affecter la valeur undefined à une instance de la classe Object, Flash Player convertit la valeur en null. Vous pouvez affecter uniquement une valeur de undefined à des variables non typées. Les variables non typées sont des variables dépourvues de toute annotation de type, ou qui utilisent l'astérisque (*) pour l'annotation de type. Vous pouvez utiliser void uniquement comme annotation de type renvoyé.
Le type de données Object est défini par la classe Object. La classe Object sert de classe de base pour toutes les définitions de classe dans ActionScript. La version d'ActionScript 3.0 du type de données Object diffère de celle des versions précédentes de trois façons. Premièrement, le type de données Object n'est plus le type de données par défaut affecté aux variables sans annotation de type. Deuxièmement, le type de données Object ne comprend plus la valeur undefined, qui était la valeur par défaut des instances Object. Troisièmement, dans ActionScript 3.0, la valeur par défaut pour les instances de la classe Object est null.
Dans les versions précédentes d'ActionScript, une variable sans annotation de type a été affectée automatiquement au type de données Object. Ceci n'est plus valable dans ActionScript 3.0, qui inclut maintenant la notion de variable parfaitement non typée. Les variables sans annotation de type sont désormais considérées comme non typées. Si vous souhaitez faire comprendre aux lecteurs de votre code que vous souhaitez laisser une variable non typée, vous pouvez utiliser le nouvel astérisque (*) pour l'annotation de type, ce qui revient à omettre une annotation de type. L'exemple suivant présente deux instructions équivalentes qui déclarent une variable non typée x :
var xvar x:*
Seules les variables non typées peuvent contenir la valeur undefined. Si vous tentez d'affecter la valeur undefined à une variable ayant un type de données, Flash Player convertit la valeur undefined en la valeur par défaut pour ce type de données. Pour des instances du type de données Object, la valeur par défaut est null, ce qui signifie que Flash Player convertit la valeur undefined en null si vous tentez d'affecter undefined à une instance Object.
Flash CS3
M'envoyer un message électronique lorsque des commentaires sont ajoutés à cette page | Rapport de commentaire
Page en cours: http://livedocs.adobe.com/flash/9.0_fr/main/00000047.html