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 September 2016.

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:

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

Especificações

Specification
ECMAScript Language Specification
# sec-generator-function-definitions

Compatibilidade com navegadores

BCD tables only load in the browser

Veja também