Generators are useful for producing data.
Since 2015, JavaScript has improved immensely.
It’s much more pleasant to use it now than ever.
In this article, we’ll look at JavaScript generators.
We can use generator functions as iterators.
For instance, we can write:
function* genFn() {
yield 'foo';
yield 'bar';
yield 'baz';
}
const gen = genFn();
console.log(gen.next());
console.log(gen.next());
to create a generator function and a generator.
genFn
is the generator function as indicated with the function*
keyword.
The function returns a generator with the genFn
call.
Then we call next
to get the next item on the list.
The yield
keyword lets us return the value with the next
method call.
Therefore, we get:
{value: "foo", done: false}
{value: "bar", done: false}
to get the yielded items via the value
property.
We can also access the yielded values with the for-of loop.
For example, we can write:
function* genFn() {
yield 'foo';
yield 'bar';
yield 'baz';
}
const gen = genFn();
for (const x of gen) {
console.log(x);
}
Then we get:
foo
bar
baz
logged.
Exercise from Eloquent JavaScript. Today, we will write a function that forms a chessboard. You can find the exercise in the Eloquent Javascript book (3rd edition, chapter 2; Program Structure). Write a program that creates a string that represents an 8×8 grid, using newline characters to separate lines. At each position of the grid there is either a space or a “#” character. The characters should form a chessboard.
One of the nice things about learning JavaScript these days is that there is a plethora of choices for writing and running JavaScript code. In this article, I’m going to describe a few of these environments and show you the environment I’ll be using in this series of articles.
To paraphrase the title of an old computer science textbook, “Algorithms + Data = Programs.” The first step in learning a programming language such as JavaScript is to learn what types of data the language can work with. The second step is to learn how to store that data in variables. In this article I’ll discuss the different types of data you can work with in a JavaScript program and how to create and use variables to store and manipulate that data.
Professor JavaScript is a JavaScript online learning courses YouTube Channel. Students can learn how to develop codes with JavaScript from basic to advanced levels through the online courses in this YouTube channel.
Async callbacks or promises. Introduction to JavaScript Async Programming