Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.
Expressão function*
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since setembro de 2016.
A palavra-chavefunction* pode ser usada para definir uma função generator dentro de uma expressão.
In this article
Sintaxe
function* [nome]([param1[, param2[, ..., paramN]]]) { declarações}nomeO nome da função. Pode ser omitido, no caso da função ser anônima. O nome é local apenas para o corpo da função.
paramNO nome de um argumento para ser passado para a função. Uma função pode ter até 255 argumentos.
declaraçõesAs declarações que compõem o corpo da função.
Descrição
Uma expressãofunction* é muito similar e tem quase a mesma sintaxe que adeclaração function*. A principal diferença entre uma expressãofunction* e a declaraçãofunction* é onome da função, que pode ser omitido em expressõesfunction* para criar funçõesanônimas. Veja também o capítulo sobrefunções para mais informações.
Exemplos
O exemplo a seguir define uma função generator e atribui à variávelx. A função faz um yield do quadrado do seu argumento:
var x = function* (y) { yield y * y;};Especificações
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-generator-function-definitions> |