MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

This is a new technology, part of the ECMAScript 2015 (ES6) standard.
This technology's specification has been finalized, but check the compatibility table for usage and implementation status in various browsers.

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

 

Syntax

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)합니다.

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

 

Specifications

Specification Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'function*' in that specification.
Standard Initial definition.

 

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) 26.0 (26.0) ? ? ?
yield* (Yes) 27.0 (27.0) ? ? ?
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support ? (Yes) 26.0 (26.0) ? ? ?
yield* ? (Yes) 27.0 (27.0) ? ? ?

 

See also

문서 태그 및 공헌자

 이 페이지의 공헌자: JaehaAhn
 최종 변경: JaehaAhn,