I'm learning JavaScript, and I feel like I understand hoisting decently enough, so I'm not asking what it is or how to do it or anything like that.
Is it good to hoist? If I can, should I be declaring my variables using
var foo = function() {};
Or should I be using this instead?
function foo() {}
When should I hoist and when should I not? Or does it even matter at all?
Hoisting is not something you can do or not do, it just happens in JavaScript.
Hoisting is the fact that all variable declarations get 'moved' to the top of the containing scope.
What you are talking about is using function expressions versus function declarations. Both styles are fine, just remember that they have a small difference in what gets hoisted:
For more information you can check out an article I write about hoisting in JavaScript: http://www.kenneth-truyers.net/2013/04/20/javascript-hoisting-explained/