What's more important in JS: performance, or the understandability of the code?

The voodoo magic is an aspect that we choose to avoid these days, where function declarations are hoisted along with declared variable names.

Separate from that, I find that the difference of notation helps to convey different information about them. Both notations would work equally well, but using separate notations helps to provide a visual clue as to how I intend for the function to behave.

My intention for a function declaration is that it does nothing more than return a result based on its input, not changing anything else outside of it.

function sum(a, b) {
    return a + b;
}

Nice and simple.

With a function expression, my intention is to convey the message to the person reading the code, that it’s going to do something with the local scope, or to reach out and change something.

For example:

var increaseCounter = function () {
    counter += 1;
};

It’s not a hard and fast rule, and both types of function declarations or expressions work equally as well a each other. It’s just a handy convention that I’ve found helpful that makes the code more expressive about its intentions.