⊗jsPmFTNFE 235 of 505 menu

Expressões de Função Nomeadas em JavaScript

Suponha que temos uma expressão de função como esta:

let test = function() { console.log('!'); }; test(); // exibirá '!'

Vamos dar um nome func para a nossa função:

let test = function func() { console.log('!'); }; test();

Como você já sabe, não é possível acessar a função por este nome de fora:

let test = function func() { console.log('!'); }; test(); // exibirá '!' func(); // lançará um erro

Por que dar um nome à função se ele não estará disponível? A questão é que este nome será inacessível de fora da função, mas estará disponível dentro dela.

Vamos verificar:

let test = function func() { console.log(func); // a função exibirá seu próprio código-fonte }; test(); // chamamos a função

Vamos chamar nossa função dentro dela mesma:

let test = function func() { console.log('!'); // exibimos '!' func(); // chamamos a nós mesmos }; test();

Se executarmos este código, será exibido um número infinito de saídas no console.

Na verdade, nossa função pode ser chamada dentro de si mesma não apenas como func, mas também como test:

let test = function func() { console.log('!'); test(); // chamamos a nós mesmos }; test();

Qual é a diferença? A diferença é que o nome test é apenas uma variável. Durante a execução do script, nossa função pode ser atribuída a outra variável ou passada como parâmetro - neste caso, a ligação entre a variável test e a função pode ser perdida.

O nome func, no entanto, está rigidamente vinculado à função especificamente para que possamos nos referir à nossa função dentro dela mesma.

Tais Expressões de Função com um nome são chamadas de expressões de função nomeadas.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar