Newly to Node.js i would have known how node types really working ...
I'm currently working on files, just to have an example take a look at this function :
fs.write(fd, data[, position[, encoding]], callback)
data <String> | <Buffer>
If data is not a Buffer instance then the value will be coerced to a string.
Object | MyOwnObject
data parameter is neither a
Buffer nor a
String, it is coerced by adding the empty string to it:
if (typeof buffer !== 'string') buffer += '';
This is equivalent to
buffer = String(buffer) + '';
In many cases, this will end up calling
Source: the source code