Javascript is Unityped. In Haskell/ML, you would define the type of Javascript objects by doing something like this:
data JSObj
= Num Double
| Str String
| Obj (Hashtable String JSObj)
| True
| False
| Nil
| Undefined