Dans es6, un générateur est une fonction qui définit un itérateur. L'appel de la fonction générateur peut renvoyer un objet itérable ; il y a un signe "*" entre la fonction et le nom de la fonction dans le générateur, et le rendement est utilisé à l'intérieur de la fonction. body Expression, la syntaxe est "function*gen(){yield1;yield2;}".
L'environnement d'exploitation de ce tutoriel : système Windows 10, ECMAScript version 6.0, ordinateur Dell G3.
Un générateur est une fonction utilisée pour définir des itérateurs dans Es6. Nous pouvons le comprendre de cette façon : ce que le générateur génère finalement est un itérateur.
Generator est un nouveau type de données introduit par la norme ES6.
Un générateur ressemble à une fonction, mais peut revenir plusieurs fois. Il existe deux différences entre la fonction
générateur et les fonctions ordinaires
1 : Il y a un signe * entre la fonction et le nom de la fonction
2 : L'expression de rendement est utilisée à l'intérieur du corps de la fonction
Appeler pour générer La fonction générateur est différente de l'appel d'une fonction ordinaire. L'appel de la fonction générateur renvoie un objet générateur (un objet itérable). Générateur : il existe une interface itérateur dans le générateur, ce qui signifie que le générateur lui-même peut être itéré. . Autrement dit, créer un générateur équivaut à créer un itérateur. Concernant l'utilisation de générateurs, pour certains types de données qui n'ont pas d'interface itérateur, nous pouvons utiliser un générateur pour personnaliser un itérateur pour l'itération.
Ce qui précède est ma compréhension du générateur lui-même. La syntaxe spécifique sera expliquée ci-dessous.
Quelques attributs du générateur//生成器的声明
<script>
function* generator(){
}
let test = generator();
console.log(test);
</script>
//生成器中的yield关键字
<script>
function* Generator(){
yield 100;
yield 200;
yield 300;
yield 400;
}
let test = Generator();
console.log(test.next());
console.log(test.next());
console.log(test.next());
console.log(test.next());
console.log(test.next());
console.log(test.next());
console.log(test.next());
</script>
Analyse : Puisque next() existe dans le prototype de l'objet instancié du générateur, lorsque next() est exécuté, l'itération sera basée sur le rendement.
【Recommandations associées :
tutoriel vidéo javascriptCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!