 Have you heard the term hoisting before? JavaScript does it and it's a fun word to say, hoisting. But what actually is it? So let's try and clear things up. When you declare a function in JavaScript, they are hoisted. This means that the function name and the body are added to the current function scope before execution begins. Basically, the first function A can call the second function B even though the second function comes after the first function. Actually, you can even invoke the function A right above where it is declared because of hoisting. Now, the important thing to note is that variable declarations with const and let are not hoisted and scoped to their block. So while storing a function in a variable is often seen as semantically equivalent to using a named function, it is not. In this example, the code would fail because the const and let are not hoisted and without hoisting, the order of declaration matters. Admittedly, hoisting can be a bit confusing, but now you know how it works and you can make an informed decision when to use these two ways of declaring a function. Got it? Very good. See you next time. Do I expect you to talk? No, Mr. Bond, I expect you to develop and subscribe.