Neu in ActionScript 3: Typsicherheit zur Laufzeit
Halbwegs typsicher war ActionScript 2 ja auch schon, aber halt nur halbwegs… aber keine Sorge, das ist mit ActionScript 3 vorbei. Genauer gesagt: Während es in ActionScript 2 noch möglich war zur Laufzeit einer Variable einen Wert von einem inkompatiblen Datentyp zuzuweisen ist dies nun nicht mehr möglich. Schauen wir uns einfach mal ein Beispiel an:Wir gehen einfach mal von einer Funktion aus die einen Parameter von einem unbestimmten Typen bekommt (nicht schön, aber zum testen wirds gehen) und weisen den Parameter einer als Date gecasteten Variablen zu:
function setServerDate( data ): Void
{
var date : Date = data;
trace( date ); //I'm a string, not a date-object
trace( date.getDate() ); //undefined
}
setServerDate( "I'm a string, not a date-object" );
Dieses Beispiel würde in ActionScript 2 ohne Kompiler- oder Laufzeitfehler funktionieren. Problematisch daran ist das man beim zweiten trace garnicht mitbekommen würde, dass die Variable einen falschen Datentyp hat (u.a. auch begründet durch die dynamischen Klassen bei ActionScript 2)… bei umfangreichen Projekten wird das Debugging wg. solchen Sachen dann zur Hölle.
In ActionScript 3 ist dies nun konsistenter gelöst… bauen wir dafür mal die alte Funktion in ActionScript 3 nach:
function setServerDate( data:* ): void
{
var date : Date = data; // Type-Error
trace( date );
trace( date.getDate() );
}
setServerDate( "I'm a string, not a date-object" );
Würden wir das Ganze jetzt ausführen würde sofort in Zeile 3 ein Type-Error geworfen und die Ausführung beendet/angehalten. Das bedeutet für uns, dass wir durch die Verwendung von ActionScript 3 wesentlich stabilere und sicherere Programme entwickeln können.
Andere Beiträge der Reihe:
- Neu in ActionScript 3: Grundlagen
- Neu in ActionScript 3: Sealed Classes
- Neu in ActionScript 3: Namespaces
- Neu in ActionScript 3: Reguläre Ausdrücke
- Neu in ActionScript 3: try..catch und eigene Exceptions
- Neu in ActionScript 3: Die neuen Datentypen
Danke für das Lesen dieses Eintrags. Du kannst nun einen Kommentar abgeben (0) oder einen Trackback hinterlassen.
Infos
Datum: Friday, 29. February 2008Eingeordnet unter Programmierung
Du kannst die Antworten zu diesem Eintrag durch den RSS 2.0 Feed verfolgen. Du kannst einen Kommentar abgeben, oder einen Trackback.
Vorheriger Eintrag: Neu in ActionScript 3: Reguläre Ausdrücke »
Nächster Eintrag: AIR-Tutorials auf video-flash.de »
- Adobe AIR 1.1 veröffentlicht
- PHP date für ActionScript 3
- Ubuntu 8.04 LTS (Hardy Heron) veröffentlicht
- MySQL Workbench released
- Adobe AIR unter Ubuntu 7.10
- Was AIR nicht kann…
- Was ist das eigentlich: Adobe Flex
- Neu in ActionScript 3: Die neuen Datentypen
- Beta 1 vom Internet Explorer 8 (IE8) erschienen
- Auf zur Flashforum Konferenz 2008

