O que é function hoisting?

technical
Intermediário

O function hoisting é um comportamento peculiar do JavaScript que pode confundir muitos desenvolvedores, especialmente aqueles que estão começando a aprender a linguagem. Basicamente, o hoisting refere-se ao movimento implícito de declarações de variáveis e funções para o topo do escopo em que são definidas.

O function hoisting é um comportamento peculiar do JavaScript que pode confundir muitos desenvolvedores, especialmente aqueles que estão começando a aprender a linguagem. Basicamente, o hoisting refere-se ao movimento implícito de declarações de variáveis e funções para o topo do escopo em que são definidas.

O que é Function Hoisting?

O function hoisting em JavaScript é um fenômeno no qual a declaração de uma função é movida para o topo de seu escopo, permitindo que a função seja acessada em qualquer parte do código, mesmo antes de sua declaração ser alcançada. Isso é diferente do hoisting de variáveis, que apenas move a declaração, mas não a inicialização.

Como o Function Hoisting Funciona?

Quando uma função é declarada em JavaScript, o mecanismo de execução da linguagem a move para o topo do escopo atual. Isso significa que, embora a função possa ser definida no final de um script ou dentro de uma estrutura condicional, ela ainda será acessível desde o início desse escopo.

Diferença entre Function Hoisting e Variable Hoisting

Enquanto o function hoisting move a declaração inteira da função para o topo, o hoisting de variáveis se comporta de maneira diferente. Apenas a declaração do

var
é movida para o topo, mas a atribuição do valor permanece onde está. Com
let
e
const
, nem a declaração nem a inicialização são hoisted para o topo.

Por que o Function Hoisting é Importante?

Entender o function hoisting é crucial para evitar bugs e comportamentos inesperados em seu código. Ele pode afetar a ordem de execução e a visibilidade das funções, alterando o fluxo de controle do seu programa.

📂 Termos relacionados

Este termo foi útil para você?