우리 모두 알고 있듯이 JavaScript는 경량 프로그래밍 언어이며 생성기는 ECMAScript 2015에 도입되었습니다. 생성기는 많은 출력 값을 가지며 중지 및 시작이 가능한 프로세스입니다. JavaScript에서 생성기는 반복 가능한 생성기 개체를 생성하는 생성기 함수로 구성됩니다.
이 글에서는 JavaScript의 생성기와 JavaScript의 다양한 유형의 생성기에 대해 구문과 예제를 통해 자세히 설명합니다.
제너레이터 기능은 일반 기능과 동일하지만 한 가지 차이점은 제너레이터 기능을 재개하고 일시 중지할 수 있다는 것입니다. 일반적으로 JavaScript에서는 함수가 호출되면 멈추지 않습니다. 일반적으로 생성기의 개념은 비동기 프로그래밍에 나타납니다.
이제 JavaScript의 생성기 함수 구문에 대해 논의하고 이를 일반 함수와 비교해 보겠습니다.
function * 구문은 생성기 함수를 작성하는 데 사용되며, 항복 키워드는 이를 일시 중지하는 데 사용됩니다.
으아악생성기 함수가 처음 호출되면 해당 코드는 실행되지 않지만 생성기 개체가 반환됩니다. 값은 생성기의 next() 메서드를 호출하여 소비됩니다. 이 메서드는 Yield 키워드를 만날 때까지 코드를 실행하고, 이 시점에서 일시 중지하고 next()가 다시 호출될 때까지 기다립니다.
위 코드에서 마지막 명령문 이후에 g.next()를 연속적으로 호출하면 동일한 반환 객체인 {value: undefed, did: true}가 생성됩니다. 왜냐하면 우리가 코드의 '세계'에 있기 때문입니다. 그 이후에 정의됩니다. genFunc() 함수.
yield 키워드는 생성기 함수의 실행을 일시 중지하고 그 뒤에 오는 표현식의 값을 생성기 호출자에게 제공합니다. return 키워드의 생성기 기반 버전과 비슷합니다. Yield를 포함하는 생성기 함수에서만 직접 호출할 수 있습니다.
일반 함수에서는 "*" 함수를 사용하지 않으며 위의 예에서 볼 수 있듯이 항복 함수도 사용하지 않습니다. 위에서 논의한 것처럼 일반 함수와 생성기 함수의 주요 차이점은 생성기 함수를 중지하고 일시 중지할 수 있다는 것입니다. 따라서 위의 예에서 우리는 이를 중지하도록 선택하지 않고 "Hello world"라는 전체 문을 직접 인쇄했음을 알 수 있습니다.
생성기 함수의 기본 사항을 이해했으므로 이제 다양한 유형의 생성기 함수로 넘어가겠습니다. -
일반 생성기에서 생성기는 함수를 생성하기 위해 각 next() 메서드 호출이 실행된 후 다음 값을 생성하는 반복자 역할을 합니다. 목록이 끝날 때까지 숫자를 하나씩 생성하는 예를 살펴보겠습니다.
으아악위 코드에서는 Yield 키워드가 포함된 일반 일반 함수를 생성하고 next() 함수를 사용하여 이를 여러 번 호출했습니다.
매개변수가 있는 생성기는 일반 생성기와 약간 다릅니다. 이번에는 next() 함수를 사용하여 매개변수를 전달하여 생성기 함수로 보내야 합니다. 또한 매개변수를 전달할 때마다 Yield 키워드 이전이 아닌 뒤에 저장됩니다. 다음 예에서 이 개념을 이해할 것입니다. -
으아악위 코드에서는 생성기 함수를 정의하고 이번에는 여기에 매개변수를 전달했습니다. 객체를 처음 호출할 때 주어진 매개변수는 "yield" 키워드보다 먼저 전송되기 때문에 인쇄되지 않고 전송된 값이 변수에 저장되어 인쇄된 후 두 번째로 값이 인쇄됩니다. 현재 출력이 없기 때문에 아무 일도 일어나지 않습니다.
Generator는 객체로 사용될 수 있으며 호출하면 할당된 값을 반환하고 인쇄할 수 있습니다. 이 개념을 이해하기 위해 예를 살펴보겠습니다.
으아악위 코드에서는 먼저 세 개의 항복 표현식을 정의하고 그 뒤에 문자열이 있습니다. 생성기를 호출하면 그 뒤의 문자열이 반환됩니다.
반환 유형, 일부 생성기에는 내부에 다른 생성기가 포함되어 있는 등 다른 유형의 생성기도 있습니다.
기사에서 제너레이터 기능은 일반 기능과 동일하지만 한 가지 차이점이 있으면 제너레이터 기능을 재개하고 일시 중지할 수 있다는 것을 배웠습니다. 일반적으로 JavaScript에서는 함수가 호출되면 멈추지 않습니다. 일반적으로 생성기의 개념은 비동기 프로그래밍에 나타납니다. 매개변수, 속성 등의 객체를 포함하는 일반 생성기, 다른 생성기를 포함하는 생성기 등 다양한 유형의 생성기가 있습니다.
위 내용은 JavaScript의 다양한 유형의 생성기 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!