1. 개발자를 위한 웹 기술
  2. JavaScript
  3. JavaScript 참고서
  4. 식 및 연산자
  5. function* expression

This page was translated from English by the community. Learn more and join the MDN Web Docs community.

View in English Always switch to English

function* expression

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2016년 9월⁩.

function* keyword 는 표현식 내에서 generator function 을 정의합니다.

시도해 보기

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"

Syntax

js
 function* [name]([param1[, param2[, ..., paramN]]]) {
 statements
 }

Parameters

name

함수명. 생략하면, 익명 함수가 됩니다. 함수명은 함수내에만 한정됩니다.

paramN

함수에 전달되는 인수의 이름. 함수는 최대 255 개의 인수를 가질 수 있습니다.

statements

함수의 본체를 구성하는 구문들.

Description

function* expression 은 function* statement 과 매우 유사하고 형식도 같습니다. function* expression 과 function* statement 의 주요한 차이점은 함수명으로, function* expressions 에서는 익명 함수로 만들기 위해 함수명이 생략될 수 있습니다.보다 자세한 내용은 functions 을 참조하십시오.

Examples

아래의 예제는 이름이 없는 generator function 을 정의하고 이를 x 에 할당합니다. function 은 인자로 들어온 값의 제곱을 생산(yield)합니다.

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

명세서

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

브라우저 호환성

See also

Help improve MDN

Learn how to contribute

This page was last modified on by MDN contributors.

AltStyle によって変換されたページ (->オリジナル) /