typeName of nil is ANY, however this is not possible to test as script command is just ignored when any argument is nil.
Description
Returns the Data Type of an expression.
The type is returned as on of the following all-uppercase strings:
- "ARRAY"
- "BOOL"
- "CODE"
- "CONFIG"
- "CONTROL"
- "DISPLAY"
- "GROUP"
- "OBJECT"
- "SCALAR" (and "NaN")
- "SCRIPT"
- "SIDE"
- "STRING"
- "TEXT"
- Armed Assault v1.08 "LOCATION"
- Arma 2 v1.00 "TEAM_MEMBER"
- Arma 2 v1.00 "NAMESPACE"
- Arma 2 v1.00 "DIARY_RECORD"
- Arma 2 v1.00 "TASK"
- Arma 3 v2.02 "HASHMAP"
- Arma 3 v2.24 "NetObject" They represent the available Data Types in Arma.
Note
Arma 3: For type comparison, use isEqualType command instead.
Syntax
typeName anything
Parameters:
anything: Anything
Returns: String
Examples
Example 1
_msg = "hello"; _result = typeName _msg; //_result will be "STRING"
Example 2
_unit = player; _result = typeName _unit; //_result becomes "OBJECT"
Example 3
Values representing direct Data Types:
hint typeName 0; // SCALAR
hint typeName 1e39; // NaN
hint typeName ""; // STRING
hint typeName true; // BOOL
hint typeName []; // ARRAY
hint typeName {}; // CODE
hint typeName scriptNull; // SCRIPT (since Arma 3 v1.32)
hint typeName objNull; // OBJECT
hint typeName grpNull; // GROUP
hint typeName controlNull; // CONTROL
hint typeName teamMemberNull; // TEAM_MEMBER (since Arma 2 v1.00)
hint typeName displayNull; // DISPLAY
hint typeName taskNull; // TASK (since Arma 2 v1.00)
hint typeName locationNull; // LOCATION
hint typeName sideUnknown; // SIDE
hint typeName text ""; // TEXT
hint typeName configFile; // CONFIG
hint typeName configNull; // CONFIG (since Arma 3 v1.54)
hint typeName missionNamespace; // NAMESPACE
hint typeName diaryRecordNull; // DIARY_RECORD (since Arma 3 v2.00)
hint typeName createHashMap; // HASHMAP (since Arma 3 v2.02)
hint typeName netObjNull; // NetObject (works as intended since Arma 3 v2.24)
Example 4
if (typeName _this != "ARRAY") exitWith { hint "_this is not an array!" };
// is the same as
if (typeName _this != typeName []) exitWith { hint "_this is not an array!" };
// same result but faster in Arma 3
if !(_this isEqualType []) exitWith { hint "_this is not an array!" };
See also
isEqualTypeAll · isEqualType · isEqualTypeParams · isEqualTypeArray · isEqualTypeAny · typeOf · isKindOf · isClass · isArray · isNumber · isText · isNil · isNull