⊗jsPmFTLE 237 of 505 menu

Expressão de função à esquerda em JavaScript

Vamos considerar o seguinte código:

+function func() { console.log('!'); }

Como você já sabe, esta função é uma expressão de função, apesar de ter um nome definido (já descobrimos que a presença de um nome não é um critério). Remova este sinal de mais - e obteremos uma Declaração de Função (Function Declaration):

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

Vamos colocar + em uma linha antes da função - ela se tornará uma Expressão de Função (Function Expression) novamente:

+ function func() { console.log('!'); }

E agora, após o sinal de mais, vamos colocar o número 1 e um ponto e vírgula - nossa função se tornará uma Declaração de Função (Function Declaration):

+1; function func() { console.log('!'); }

Por que isso acontece: porque na primeira linha há um comando completo e terminado, fechado por um ponto e vírgula. Portanto, este comando não afeta de forma alguma nossa função.

Na verdade, o ponto e vírgula pode ser removido, pois em JavaScript ele não é obrigatório - a função continuará sendo uma Declaração de Função (Function Declaration):

+1 function func() { console.log('!'); }

Mas se após o 1 colocarmos outro sinal de mais, a função se tornará uma Expressão de Função (Function Expression):

+1+ function func() { console.log('!'); }

Por que isso acontece: porque na primeira linha há uma expressão não finalizada - há um sinal de mais e depois dele não há nada. Portanto, o interpretador JavaScript entende que este sinal de mais se refere à linha abaixo, ou seja, à nossa função.

Se a primeira linha contiver uma expressão finalizada, o JavaScript automaticamente coloca um ponto e vírgula nela e essa expressão não afeta nossa função de forma alguma.

Determine se a função apresentada é uma Declaração de Função (Function Declaration) ou uma Expressão de Função (Function Expression):

- function func() { console.log('!'); }

Determine se a função apresentada é uma Declaração de Função (Function Declaration) ou uma Expressão de Função (Function Expression):

-1; function func() { console.log('!'); }

Determine se a função apresentada é uma Declaração de Função (Function Declaration) ou uma Expressão de Função (Function Expression):

-1 function func() { console.log('!'); }

Determine se a função apresentada é uma Declaração de Função (Function Declaration) ou uma Expressão de Função (Function Expression):

1 function func() { console.log('!'); }

Determine se a função apresentada é uma Declaração de Função (Function Declaration) ou uma Expressão de Função (Function Expression):

-1- function func() { console.log('!'); }
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