Içando em JavaScript | Explicado

Içando em JavaScript | Explicado
Quando o mecanismo JavaScript executa um programa, ele cria um novo contexto de execução chamado Contexto de execução global" ou o "Contexto padrão”. Você pode saber que o JavaScript é um idioma de thread único, por isso permite apenas a criação de um contexto de execução global para executar o código.

Em JavaScript, há duas fases do Contexto de execução global:

  • Criação
  • Execução

Na fase de criação, as declarações relacionadas a variáveis ​​e funções são deslocadas para o topo do escopo, conhecido como “Elevação““. Também é considerado o comportamento padrão do JavaScript.

Esta posta. Então vamos começar!

Içar variável em javascript

O mecanismo JavaScript move automaticamente as declarações variáveis ​​para o top do programa ou script. Este processo é conhecido como “Elevação variável”.

Exemplo: içar variável em JavaScript

No exemplo abaixo, declaramos uma variável chamada “número”E inicializou seu valor“4“, Mas antes disso, estamos referenciando o“número”Variável através da“console.registro()”Método:

console.log (número);
Var número = 4;

Nesse caso, o “número”A declaração variável é movida automaticamente para o top do script. Essa é a razão pela qual a execução do fornecido não encontrou nenhum erro:

Em termos de sintaxe, o código na fase de execução se parece com o seguinte:

número var;
console.log (número);
número = 5;

Então, o que aconteceu em segundo plano? O mecanismo JavaScript alocou a memória para o “número”Variável durante a fase de criação de contexto de execução global e, em seguida, define seus valores como“indefinido”.

Deixe a palavra -chave içar em JavaScript

Em JavaScript, as variáveis ​​definidas com o “deixar”A palavra -chave é içada no topo do roteiro, mas o motor não as inicializa. O bloco de código conhece a variável definida; No entanto, não pode ser utilizado até que declaremos a variável especificada.

Exemplo: deixe a palavra -chave içar em JavaScript

Vamos declarar o mesmo “número”Variável usando a“deixarPalavra -chave:

número = 6;
deixe o número = 5;

O código fornecido gerará um “ReferenceError" que o "número”A variável não está definida:

O encontrado “ReferenceError”Também significa que o“número”A variável é colocada na memória da heap, mas ainda não foi inicializada.

Vamos tentar acessar uma variável “alfa”Isso não existe na memória. Nesse caso, a saída mostrará outro “ReferenceError" que o "alfa”A variável não está definida:

console.log (alfa);
deixe o número = 5;

Saída

Agora, vamos verificar como o motor JavaScript lida com a função iça.

Função içando em JavaScript

As declarações de função também são deslocadas para o topo do script pelo mecanismo JavaScript. Semelhante às variáveis, o JavaScript oferece a funcionalidade para içar declarações de função.

Exemplo: Função içando em JavaScript

No exemplo seguinte, o “adicionar()”A função é invocada antes de adicionar sua definição:

Deixe A = 45,
b = 23;
Deixe Sum = add (a, b);
console.log (soma);
função add (x, y)
retornar x + y;

No entanto, o programa ainda gera o valor retornado pelo “adicionar()”Função:

Quando o exemplo dado é executado, o mecanismo JavaScript aloca memória para a declaração do “adicionar()”Função. Mais especificamente, um javascript “Objeto”É criado de acordo com o tipo de“adicionar()”Tipo de função e também adiciona um“Referência da função"Chamado"adicionar,”Que aponta para o objeto criado.

Então, tecnicamente, no mecanismo JavaScript, o exemplo acima é executado da seguinte forma:

função add (x, y)
retornar x + y;

Deixe A = 45,
b = 23;
Deixe Sum = add (a, b);
console.log (soma);

Saída

Ambos os programas fornecidos geraram a mesma saída. Agora, vamos tentar içar Expressões de função em javascript.

Expressões de funções içando em JavaScript

Em um Expressão da função JavaScript, Uma variável é inicializada com um valor de função. Como resultado, a variável nomeada é apenas içada, não sua função.

Exemplo: Expressões de função içando em JavaScript

Vamos mudar nosso regular “adicionar()”Função para um“expressão da função”:

var add = function add (x, y)
retornar x + y;

Desta vez um “TypeError”Aparecerá na janela do console informando que“adicionar”Não é uma função:

Nós enfrentamos o acima mencionado “TypeError”Porque o mecanismo JavaScript colocado“adicionar" como um "variável”Na memória, não como uma função.

Tudo isso era informações críticas relacionadas a Elevação em JavaScript. Você pode explorar ainda mais este tópico de acordo com suas preferências.

Conclusão

Elevação em JavaScript é suportado para variáveis e Declarações de funções. Na fase de criação do contexto de execução global, a declaração relacionada a variáveis ​​e funções é movida para o topo do escopo. Dessa maneira, um lugar na memória é alocado para os dois, permitindo -nos utilizar variáveis ​​e funções antes da declaração. Esta redação explicou a eleição em JavaScript junto com exemplos adequados.