JS para impacientes

13: O que é javascript hoisting?

February 13, 2020

https://www.instagram.com/tv/B9uSymRDHIc/

Hoisting no Javascript é o termo usado para descrever a movimentação de variáveis e funções para o topo de seu escopo (global ou função), em relação ao local de onde a definimos.

Exemplo:

printName()
function printName() {
    console.log('Paulo Luan é bonitão pakarai')
}

Para entender Hoist , temos que entender o contexto de execução.

O contexto de execução é o “ambiente de código” atualmente em execução. O contexto de execução possui duas fases de compilação e execução.

Compilação - nesta fase esse maluco pega as vars e functions para cima, para que possamos referenciá-los mais tarde e receber os valores.

Execução - nesta fase, atribui valores às variáveis içadas anteriormente e executa ou invoca funções (métodos em objetos) .

Nota: só vale se for function ou var RAÍZ, os nutella do ES6 NÃO são HOIÇADOS (let, const, arrow function e o restante).

veja os exemplos:

console.log(y)
var y = 1 // VAR BRABO DO RAÍZ DO RISCA FACA FUNCIONA
console.log(y)
let y = 1 // NUTELLA NÃO FUNCIONA
console.log(greet("Paulo Luan Bonitão"))
function greet(name){
  return 'Olá ' + name + '!'
}
console.log(greet("Paulo Luan Bonitão"))
var greet = (name) => { // NUTTELA 
  return 'Olá ' + name + '!'
}
//console.log(greet("Paulo Luan Bonitão"))

Baseado no excelente artigo: 70 Interview Questions


Está curtindo os conteúdos da Reativa? Quer que a gente te ajude a ser um dev melhor? Clique aqui.