Sprite Basic has 6 main data types : number, string, boolean, object, list, map, object.
In addition, you can make arrays of any dimensions of any data type, you just have to specify the size of each dimension inside ''. list and map are collections, that is they hold a collection of variables of any types.
In the documentation, function will specify its returned value data type, as well as the data type of each parameter, if any, passed to the function upon call
Object is data type that has sub-type you must conform to. For example, you call addRenderer function on an object that has sub-type world. Object is the data type, world is the object sub-type. You couldn't call addRenderer on an object of sub-type body or sprite, that would raise an error.
Sometimes, function can be called on object of sub-type body or sprite. It will then be specified in the documentation under the form object:body|sprite which means that body and sprite are accepted sub-type of the caller object
In fact, when we say the function must be called by an object of sub-type sprite, it includes also other forms of sprite such as tilingSprite or animatedSprite. Same apply for animatedBody and shapedBody that can be use as a body. (we say this sub-types 'extends' the body sub-type)
Sometimes functions accepts or return any data type, in that case in the documentation the data type will be specified as 'any'. This is for example the case of list.push(any) where you can push to a list a number, string, object etc...