Javascript Hoisting

This means that variable and function declarations are physically moved to the beginning of the code and are allocated in memory during the compilation phase.

```javascript
function welcomeTo(name) {
  console.log("Welcome to " + name);
}

welcomeTo("Magmalabs");
//returns welcome to magmalabs
```

As you can see hoisting allows you to use a function before declaring it in the code.

```javascript
welcomeTo("Magmalabs");

function welcomeTo(name) {
  console.log("Welcome to " + name);
}
//returns welcome to magmalabs
```
And also allows you to use a function after declaring it in the code.

For variables, hoisting only applies to the declaration, not to their assignment.
example:

We declare the variable name but we got an undefined 

```javascript
console.log(name); 
var name = magmalabs;
//return undefined
```

That’s because JavaScript only hoist the declaration

```javascript
var name;

console.log(name); 
name = magmalabs;
//return undefined
```

To avoid these errors, it is very important to keep in mind that hoisting only applies to the declaration.


leyaim-jimenez
September 17, 2021
