Author: Ashwinee Kumar Dash.
Name of the Book: Essential ActionScript 3.0 by Colin Moock
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 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