expresión function*
Pruébalo
La palabra clave function*
puede ser utilizada para definir una función generadora en una expresión.
El código fuente de este ejemplo interactivo se encuentra almacenado en un repositorio GitHub. Si le gustaría contribuir al proyecto de ejemplos interactivos, por favor clone https://github.com/mdn/interactive-examples y envíenos un pull request.
Sintaxis
function* [nombre]([param1[, param2[, ..., paramN]]]) { sentencias }
Parámetros
nombre
- Nombre de la función. Puede ser omitido, en cuyo caso la función es anínima. El nombre sólo es local al cuerpo de la función.
paramN
- Nombre de un parámetro a ser pasado a la función. Una función puede tener hasta 255 argumentos.
sentencias
- Sentencias que componen el cuerpo de la función.
Descripción
Una expresión function*
es muy similar y tiene casi la misma sintaxis que una function* statement
. La principal diferencia entre una expresión function*
y una sentencia function*
es el nombre de la función, que en expresiones function*
puede ser omitido para creaar funciones generadoras anónimas. Para más información vea también el capítulo acerca de funciones.
Ejemplos
El siguiente ejemplo define una función generadora sin nombre y la asigna a x
. La función produce el cuadrado de su argumento:
var x = function*(y) {
yield y * y;
};
Especificaciones
Especificación | Estado | Comentario |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) La definición de 'function*' en esta especificación. |
Standard | Definición Inicial. |
ECMAScript (ECMA-262) La definición de 'function*' en esta especificación. |
Living Standard |
Compatibilidad con navegadores
No compatibility data found for javascript.operators.function_star
.
Check for problems with this page or contribute missing data to mdn/browser-compat-data.