valueType
valueType ( expression : any ) : integer
| Parameter | Type | Description | |
|---|---|---|---|
| expression | any | → | Expression whose resulting value to be tested |
| Result | integer | ← | Data type number |
Description
The valueType command returns the type of the value resulting from the evaluation of the expression you passed as parameter.
The command returns a numeric value that can be compared with one of the following constants provided by Qodly:
| Constant | Value |
|---|---|
| kBlob | 30 |
| kBoolean | 6 |
| kCollection | 42 |
| kDate | 4 |
| kInteger | 9 |
| kNull | 255 |
| kObject | 38 |
| kPicture | 3 |
| kNumber | 1 |
| kString | 2 |
| kTime | 11 |
| kUndefined | 5 |
| kVariant | 12 |
This command is designed to return the type of a scalar expression, i.e. the value stored in or returned by the expression parameter. In particular, it can be applied to the following Qodly expressions:
- object properties (emp.name),
- collection elements (myCol[5]).
note
Numerical object properties are always considered number values:
var o : object
var vType : integer
o = newObject("value",42)
vType = valueType(o.value) //vType = kNumber
Example 1
You want to handle the various possible types of an object property value:
switch
:(valueType(o.value) == kNumber)
//handle a numeric value
:(valueType(o.value) == kString)
//handle a string
:(valueType(o.value) == kObject)
//handle a sub-object
...
end
Example 2
You want to sum up all numeric values in a collection:
var col : collection
var colSum : number
col = newCollection("Hello",20,"World2",15,50,currentDate,true,10)
for(i,0,col.length-1) //-1 since collections start at 0
if(valueType(col[i]) == kNumber)
colSum = colSum+col[i]
end
end