Expressão function*

A palavra-chave function* pode ser usada para definir uma função generator dentro de uma expressão.

Sintaxe

function* [nome]([param1[, param2[, ..., paramN]]]) {
    declarações
}
nome

O 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.

paramN

O nome de um argumento para ser passado para a função. Uma função pode ter até 255 argumentos.

declarações

As declarações que compõem o corpo da função.

Descrição

Uma expressão function* é muito similar e tem quase a mesma sintaxe que a declaração function*. A principal diferença entre uma expressão function* e a declaração function* é o nome da função, que pode ser omitido em expressões function* para criar funções anônimas. Veja também o capítulo sobre funções para mais informações.

Exemplos

O exemplo a seguir define uma função generator e atribui à variável x. A função faz um yield do quadrado do seu argumento:

var x = function*(y) {
   yield y * y;
};

Especificações

Compatibilidade com navegadores

BCD tables only load in the browser

Veja também