I wanted to know if NodeJS is still good option to write backend and for REST APIs. How does it stack up against GO? Are there any particular frameworks for high performance in Node.
Node is best-suited for when your API itself does very little CPU work. When it serves mainly as a task-delegator to a DB, other APIs, local disk I/O, etc. All of these are non-blocked by JS and automatically handled by underlying native code in parallel. The main advantage of Node compared to Go is that your front- and back-end can be in the same language, which helps with hiring and can even allow for code-sharing.
That said I don't think Node would ever match Go on raw performance, even in its wheelhouse. It's all about tradeoffs.
This question isn't so clear-cut. Go is still garbage-collected, which means that depending on what kind of program we're talking about, some well-memory-managed WASM code could conceivably still be faster.
If you don't do much CPU work, node.js is great. If your load is on the DB (or) you offload the work to a background queue, you're good.
If you already know JavaScript, just go with Node.js. If you end up with performance bottleneck (CPU bound operation), you can always write that in Go. Don't waste time upfront.
If you don't need much in terms of computing power or you just use the API for delegation, Node makes for a good choice. It's a mature ecosystem, well documented, well supported, has excellent community.
That said I don't think Node would ever match Go on raw performance, even in its wheelhouse. It's all about tradeoffs.