Short answer: the core of Node.JS is multithreaded, but all user-code (i.e., JavaScript that you write) is single-threaded. Node.JS spawns multiple threads (allocated strictly for I/O operations), gathers their results and then posts each result back to the one/main/single thread.
So it depends on your perspective, if you will: From the point of the JavaScript developer, Node.JS is single threaded. From the perspective of Node.JS core (libuv), it is multi-threaded.
Multithreaded, but...