JavaScript Quirks

From Unify Community Wiki
(Difference between revisions)
Jump to: navigation, search
(Removing all content from page)
Line 1: Line 1:
*Only Monobehaviours can use print(). This means that if you're using a custom class and need to debug it, you need to use [ Debug.Log(str)] instead. This will work both inside MonoBehaviours and non-MonoBehaviours alike.
*If a class inherits from another class, and an instance is explicitly declared as the parent class, it will always call the parent's function - even if the child overrides it! The workaround is to make the instance a typeless variable. (The easiest way is to define the type as ''object'': '''var variable_name : object;''')
:This problem will disappear when Unity's JavaScript implements equivalents to the ''new'', ''override'' and ''virtual'' method qualifiers in C#.
* Unity JavaScript uses static typing but avoids having to define the types by using [[JavaScript Type Inference|type inference]] where it can and reverts to dynamic typing (or duck typing) where the inference doesn't work.

Revision as of 18:45, 19 October 2009

Personal tools