WEBVTT

00:00:00.240 --> 00:00:04.200
Before we dive into the core features
of this widely used programming

00:00:04.266 --> 00:00:09.210
language, I want to briefly
summarize what JavaScript is all about.

00:00:09.280 --> 00:00:13.600
Javascript is weakly-typed,
object-oriented programming language,

00:00:13.666 --> 00:00:18.080
which means that you don't
have to explicitly define the type

00:00:18.146 --> 00:00:20.210
of the data that a variable holds.

00:00:20.280 --> 00:00:23.010
It can change during the run time as well.

00:00:23.080 --> 00:00:27.814
For example, if a variable
holds an integer, you don't

00:00:27.880 --> 00:00:29.080
have to say that it's an integer.

00:00:29.146 --> 00:00:32.410
It can be a generic variable.

00:00:32.480 --> 00:00:37.130
This provides great flexibility,
but it can also lead to errors.

00:00:37.200 --> 00:00:39.370
So you have to be a little bit careful.

00:00:39.440 --> 00:00:43.050
And for the definition of types,
you might have heard of TypeScript.

00:00:43.120 --> 00:00:47.320
We are not going into JavaScript
for this section since we should first

00:00:47.386 --> 00:00:52.850
focus on JavaScript and understand that
before we go into more advanced topics.

00:00:52.920 --> 00:00:56.450
So now let's talk a little bit
about the object-oriented part.

00:00:56.520 --> 00:01:01.360
This allows the data to be organized
into logical objects with properties

00:01:01.426 --> 00:01:07.130
and methods, which in turn makes the data
management more efficient and organized.

00:01:07.200 --> 00:01:10.920
Another important concept to be aware
of in JavaScript is the difference

00:01:10.986 --> 00:01:15.520
between primitive and reference
types, which we're going to discuss

00:01:15.586 --> 00:01:18.450
in great details during the next videos.

00:01:18.520 --> 00:01:22.520
I wanted to discuss this because
these topics often come up in interviews

00:01:22.586 --> 00:01:24.850
that involve JavaScript as well.

00:01:24.920 --> 00:01:28.760
Originally, JavaScript was designed
to run in web browsers, but

00:01:28.826 --> 00:01:33.000
its flexibility also also allowed it
to be used in other environments such

00:01:33.066 --> 00:01:36.810
as on a server or on your computer.

00:01:36.880 --> 00:01:40.760
Later in the course, in another section,
we'll also talk about NodeJS

00:01:40.826 --> 00:01:46.210
which can help you build web servers
and perform a wide range of tasks,

00:01:46.280 --> 00:01:52.690
from working with the files and databases
to listening to user events.

00:01:52.760 --> 00:01:58.080
And in that same section, we'll also cover
the core features of JavaScript and delve

00:01:58.146 --> 00:02:03.160
into some of the latest next generation
features that are supported by NodeJS

00:02:04.400 --> 00:02:09.450
so be prepared to see how versatile
and dynamic JavaScript can be,

00:02:09.520 --> 00:02:14.650
and we'll learn how to use its powers
to build amazing applications.

00:02:14.720 --> 00:02:17.250
Let's get started in the next video.

00:02:17.320 --> 00:02:17.800
See you there.

