Astro, le nom de code du prochain player Flash (le dixième), ne cesse de se découvrir. On en est désormais certains, l’AS3 restera en vigueur pour cette release. L’AS4 reste à l’horizon, mais lointain. En revanche, certains ajouts sont faits à la structure du langage pour se conformer au standard ECMA-232 Rev 4, et entre nous, ça dépote.
Les tableaux typés
1 2 3 4 5  | // Crée un tableau où tous les éléments doivent être de type String var typedArray:[String] = new [String]("Pomme", "Poire", "Banane"); // Alternative en variable anonyme : ["Pomme", "Poire", "Banane]:[String];  | 
Les génériques typés
1 2 3 4 5 6 7 8 9 10 11  | // Crée un objet générique avec trois propriétés typées {x:100, y:150, z:50}:{x:Number, y:Number, z:Number}; // Défini un type d'objet générique type Point3D = {x:Number, y:Number, z:Number}; // Et hop, on utilise ce type générique var myPoint:Point3D = new Point3D(); myPoint.x = 100; myPoint.y = 150; myPoint.z = 50;  | 
L’opérateur ‘like’
1 2 3 4 5  | // Retourne vrai, car ces deux objets ont des propriétés communes (x, y), ainsi que d'autres points communs trace(instanceOfSprite like instanceOfMovieClip); // Retourne également vrai, même si les deux classes n'ont aucun parent commun ! trace(instanceOfSprite like instanceOfPoint);  | 
Les types mixtes
1 2 3 4 5 6 7  | // Définition d'un type acceptant à la foi les valeurs de types Number et String type MixedType = (Number, String); // Petit test : var mt1:MixedType = "Pomme"; // Fonctionne correctement var mt2:MixedType = 12; // Fonctionne également var mt3:MixedType = {x: 12, y: 15}; // Erreur de compilation, ni Number ni String !  | 
Espérons que tout ceci rentre dans le planning d’Adobe pour Astro, sans quoi il va falloir être très patient pour l’AS4… Allez, salut !
Commentaires récents