🚪 Really exit! – DEV Community

Here’s a funny (and really unimportant) thing I discovered about Node.js today.

First, for anyone who may not know, if you ever want to see the source code of a JavaScript function, you can just call .toString() on the function. (if it’s a JavaScript function, and not one that’s implemented in native code inside of the JS engine itself)

Let’s try it on process.exit:

Enter fullscreen mode

Exit fullscreen mode

Here’s what we get as output:

function exit(code) {
  if (code || code === 0)
    process.exitCode = code;

  if (!process._exiting) {
    process._exiting = true;
    process.emit('exit', process.exitCode || 0);
  // FIXME(joyeecheung): This is an undocumented API that gets monkey-patched
  // in the user land. Either document it, or deprecate it in favor of a
  // better public alternative.
  process.reallyExit(process.exitCode || 0);
Enter fullscreen mode

Exit fullscreen mode

It turns out that process.exit() is just a thin wrapper around another function, process.reallyExit()! process.reallyExit() is a native function, so we can’t inspect its code in this manner (but you can find it in Node’s source code on GitHub if you’re interested).

This tickled me. It’s a good reminder that there are always some funny, hacky things in the technologies we know and love.


Leave a Reply

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

GIPHY App Key not set. Please check settings

Silky smooth profiling for Django

A modern games app UI made with flutter