Author: Ashwinee Kumar Dash.

Name of the Book: Essential ActionScript 3.0 by Colin Moock

Copyright: Creative Commons License
Disclaimer: Anything in quotation marks is a direct quotation from Essential
ActionScript 3.0
. All other notes are my own summaries of the concepts
presented in the book.

These notes are for reference purpose only and not intended to replace the book .Therefore I would strongly advise you to read the original book as well as make your own notes wherever necessary.

Send your suggestions and feedbacks to aswhineedash[at]gmail[dot]com or aswhinee2004[at]gamil[dot]com.

Data Type

  • Data Type means a set of values.
  • Null, void and object are three data types in AS.
  • Null has null value
  • Void has undefined as its value
  • Object includes all the instances of all the classes in ActionScript.
  • Each class creates a unique datatype. Its values are the instances of the class itself and its subclasses.
  • Any given subtype is compatible with its supertype and likewise a supertype is incompatible with its subtype. That’s because an instance of subclass can be treated as an instance of its superclass.
  • A type annotation or type declaration is a suffix that constrains the datatype of a variable parameter or function return value.
  • Type declaration is preceded by colon “:”.
  • In case of variable or function parameter the data type must be a class or interface.
  • In case of return type the data type must be a class, interface or void.
  • They can take * as data type which means untyped.
  • 3 situations where data type mismatch error is ignored in strict mode until runtime (1) untyped expression assigned to typed variable or parameter or returned from a function with a declared return type (2) any expression assigned to a typed variable or parameter with Boolean datatype or returned from a function with a Boolean return type (3) any numeric type is used where a different numeric type is expected
  • To detect reference errors compiler relies on type annotations.
  • Compiler checks the method definition in the class or interface which is specified by variable’s type annotation.
  • Compiler does not check the actual class of the value.
  • To avoid such errors at the compile time cast operation is used.
  • Cast operation tells the compiler to treat the expression as a specified type.
  • Type (expression).
  • At the runtime if the expression resolves to the specified object, it is returned.
  • If it does not resolve to a specified object, either it is converted to a primitive datatype or an error is generated.
  • Casting an object to its supertype is known as upcast
  • Casting an object to its subtype is known as downcast.
  • Upcast never generates an error
  • Downcast has the potential to generate error
  • To check the data type of an object, the ‘is’ operator is used like (expression is type) which returns a true or false value.
  • A cast operation can be used to convert any value to a particular primitive type.
  • When a variable is declared without a type annotation and without an initial value, its value is set to undefined.
  • If a variable is not initialized, it takes the default value of its datatype.
  • Both null and undefined means absence of data
  • The null value represents the absence of data for variables, parameters and return values with any type annotations except Boolean, int, uint, and number
  • Undefined represents absence of data for variables, parameters or return values without any specified type annotations
  • Undefined also means complete absence of variable or method on an object whose class is defined as dynamic