1
00:00:02,320 --> 00:00:04,860
<v Instructor>In this bonus module,</v>

2
00:00:04,860 --> 00:00:09,220
we're going to dive into Modern NodeJS Core.

3
00:00:09,220 --> 00:00:12,600
And I put the Modern between quotes here,

4
00:00:12,600 --> 00:00:16,410
because you shouldn't take it too literally.

5
00:00:16,410 --> 00:00:18,110
What you learn in this course

6
00:00:18,110 --> 00:00:22,030
is 100% correct, 100% up to date,

7
00:00:22,030 --> 00:00:25,770
and used in the vast majority of projects.

8
00:00:25,770 --> 00:00:28,630
Now, obviously, I didn't count all projects,

9
00:00:28,630 --> 00:00:30,760
but if you look out there in the wild,

10
00:00:30,760 --> 00:00:32,340
in open source projects,

11
00:00:32,340 --> 00:00:34,110
if you explore other tutorials,

12
00:00:34,110 --> 00:00:37,640
if you explore any Node code basis you can find,

13
00:00:37,640 --> 00:00:40,260
you will see exactly the kind of code in there,

14
00:00:40,260 --> 00:00:42,700
which we wrote throughout this course.

15
00:00:42,700 --> 00:00:45,040
Nonetheless, it is important to realize

16
00:00:45,040 --> 00:00:47,850
that over the years of Core's NodeJS

17
00:00:47,850 --> 00:00:51,600
and JavaScript itself, evolved.

18
00:00:51,600 --> 00:00:55,670
JavaScript now is not the same as JavaScript nine

19
00:00:55,670 --> 00:00:57,380
or 10 years ago,

20
00:00:57,380 --> 00:01:01,620
But that was when NodeJS was created initially.

21
00:01:01,620 --> 00:01:06,620
Therefore NodeJS was created at a time where in JavaScript,

22
00:01:06,700 --> 00:01:08,850
we simply didn't have the same amount

23
00:01:08,850 --> 00:01:11,100
of features available as we do now.

24
00:01:11,100 --> 00:01:16,100
And therefore, naturally NodeJs is missing some features.

25
00:01:16,950 --> 00:01:20,970
r at least the main NodeJs code you write

26
00:01:20,970 --> 00:01:24,400
does not use all those latest features.

27
00:01:24,400 --> 00:01:27,160
But that does not mean that you can't use them in general.

28
00:01:27,160 --> 00:01:31,760
NodeJS supports modern JavaScript syntax features.

29
00:01:31,760 --> 00:01:33,590
And in this Module,

30
00:01:33,590 --> 00:01:37,590
I'll have a look at two features which landed

31
00:01:37,590 --> 00:01:40,660
in NodeJS which you can use now,

32
00:01:40,660 --> 00:01:43,090
which might be interesting to you.

33
00:01:43,090 --> 00:01:45,620
And that will be ES Modules,

34
00:01:45,620 --> 00:01:47,610
simply a different way of importing

35
00:01:47,610 --> 00:01:52,610
and exporting files as you will see and Promises.

36
00:01:52,610 --> 00:01:55,950
Now, especially for Promises, this might be surprising

37
00:01:55,950 --> 00:01:58,090
because we already worked with Promises

38
00:01:58,090 --> 00:02:00,350
and Async/Await throughout the course.

39
00:02:00,350 --> 00:02:05,060
But I'm talking about Promise support in Core Node APIs,

40
00:02:05,060 --> 00:02:08,300
like the file system APIs Node ships with,

41
00:02:08,300 --> 00:02:12,040
those are traditionally callback based.

42
00:02:12,040 --> 00:02:14,340
And therefore, as you'll learn in this course,

43
00:02:14,340 --> 00:02:16,910
they can suffer from certain problems.

44
00:02:16,910 --> 00:02:20,390
And you might wanna use Promises for those

45
00:02:20,390 --> 00:02:22,830
and it turns out that you can.

46
00:02:22,830 --> 00:02:24,040
So let's have a look at all

47
00:02:24,040 --> 00:02:26,343
of that step by step throughout this Module.

