[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Operators/function* [Back]  [Original]

expresin function* - JavaScript | MDN

Esta pgina ha sido traducida del ingls por la comunidad. Aprende ms y nete a la comunidad de MDN Web Docs.

View in English Always switch to English

expresin function*

Baseline Widely available

This feature is well established and works across many devices and browser versions. Its been available across browsers since septiembre de 2016.

La palabra clave function* puede ser utilizada para definir una funcin generadora en una expresin.

In this article

Prubalo

const foo = function* () {
  yield "a";
  yield "b";
  yield "c";
};

let str = "";
for (const val of foo()) {
  str = str + val;
}

console.log(str);
// Expected output: "abc"

Sintaxis

function* [nombre]([param1[, param2[, ..., paramN]]]) {
   sentencias
}

Parmetros

nombre

Nombre de la funcin. Puede ser omitido, en cuyo caso la funcin es annima. El nombre slo es local al cuerpo de la funcin.

paramN

Nombre de un parmetro a ser pasado a la funcin. Una funcin puede tener hasta 255 argumentos.

sentencias

Sentencias que componen el cuerpo de la funcin.

Descripcin

Una expresin function* es muy similar y tiene casi la misma sintaxis que una function* statement. La principal diferencia entre una expresin function* y una sentencia function* es el nombre de la funcin, que en expresiones function* puede ser omitido para creaar funciones generadoras annimas. Para ms informacin vea tambin el captulo acerca de funciones.

Ejemplos

El siguiente ejemplo define una funcin generadora sin nombre y la asigna a x. La funcin produce el cuadrado de su argumento:

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

Especificaciones

Specification
ECMAScript 2027 LanguageSpecification
# sec-generator-function-definitions

Compatibilidad con navegadores

Vea tambin


Web Proxy Viewer  |  New URL  |  Original Page