Function typeof #

Determine the type of a variable.

Function typeof recognizes the following types of objects:

Object Returns Example
null 'null' math.typeof(null)
number 'number' math.typeof(3.5)
boolean 'boolean' math.typeof(true)
string 'string' math.typeof('hello world')
Array 'Array' math.typeof([1, 2, 3])
Date 'Date' math.typeof(new Date())
Function 'Function' math.typeof(function () {})
Object 'Object' math.typeof({a: 2, b: 3})
RegExp 'RegExp' math.typeof(/a regexp/)
undefined 'undefined' math.typeof(undefined)
math.type.BigNumber 'BigNumber' math.typeof(math.bignumber('2.3e500'))
math.type.Chain 'Chain' math.typeof(math.chain(2))
math.type.Complex 'Complex' math.typeof(math.complex(2, 3))
math.type.Fraction 'Fraction' math.typeof(math.fraction(1, 3))
math.type.Help 'Help' math.typeof(math.help('sqrt'))
math.type.Help 'Help' math.typeof(math.help('sqrt'))
math.type.Index 'Index' math.typeof(math.index(1, 3))
math.type.Matrix 'Matrix' math.typeof(math.matrix([[1,2], [3, 4]]))
math.type.Range 'Range' math.typeof(math.range(0, 10))
math.type.ResultSet 'ResultSet' math.typeof(math.eval('a=2\nb=3'))
math.type.Unit 'Unit' math.typeof(math.unit('45 deg'))
math.expression.node.AccessorNode 'AccessorNode' math.typeof(math.parse('A[2]'))
math.expression.node.ArrayNode 'ArrayNode' math.typeof(math.parse('[1,2,3]'))
math.expression.node.AssignmentNode 'AssignmentNode' math.typeof(math.parse('x=2'))
math.expression.node.BlockNode 'BlockNode' math.typeof(math.parse('a=2; b=3'))
math.expression.node.ConditionalNode 'ConditionalNode' math.typeof(math.parse('x<0 ? -x : x'))
math.expression.node.ConstantNode 'ConstantNode' math.typeof(math.parse('2.3'))
math.expression.node.FunctionAssignmentNode 'FunctionAssignmentNode' math.typeof(math.parse('f(x)=x^2'))
math.expression.node.FunctionNode 'FunctionNode' math.typeof(math.parse('sqrt(4)'))
math.expression.node.IndexNode 'IndexNode' math.typeof(math.parse('A[2]').index)
math.expression.node.ObjectNode 'ObjectNode' math.typeof(math.parse('{a:2}'))
math.expression.node.ParenthesisNode 'ParenthesisNode' math.typeof(math.parse('(2+3)'))
math.expression.node.RangeNode 'RangeNode' math.typeof(math.parse('1:10'))
math.expression.node.SymbolNode 'SymbolNode' math.typeof(math.parse('x'))

Syntax #

math.typeof(x)

Parameters #

Parameter Type Description
x * The variable for which to test the type.

Returns #

Type Description
string Returns the name of the type. Primitive types are lower case, non-primitive types are upper-camel-case. For example ‘number’, ‘string’, ‘Array’, ‘Date’.

Examples #

math.typeof(3.5)                     // returns 'number'
math.typeof(math.complex('2-4i'))    // returns 'Complex'
math.typeof(math.unit('45 deg'))     // returns 'Unit'
math.typeof('hello world')           // returns 'string'
Fork me on GitHub