Before we dive into the core features of this widely used programming
language, I want to briefly summarize what JavaScript is all about.
Javascript is weakly-typed, object-oriented programming language,
which means that you don't have to explicitly define the type
of the data that a variable holds.
It can change during the run time as well.
For example, if a variable holds an integer, you don't
have to say that it's an integer.
It can be a generic variable.
This provides great flexibility, but it can also lead to errors.
So you have to be a little bit careful.
And for the definition of types, you might have heard of TypeScript.
We are not going into JavaScript for this section since we should first
focus on JavaScript and understand that before we go into more advanced topics.
So now let's talk a little bit about the object-oriented part.
This allows the data to be organized into logical objects with properties
and methods, which in turn makes the data management more efficient and organized.
Another important concept to be aware of in JavaScript is the difference
between primitive and reference types, which we're going to discuss
in great details during the next videos.
I wanted to discuss this because these topics often come up in interviews
that involve JavaScript as well.
Originally, JavaScript was designed to run in web browsers, but
its flexibility also also allowed it to be used in other environments such
as on a server or on your computer.
Later in the course, in another section, we'll also talk about NodeJS
which can help you build web servers and perform a wide range of tasks,
from working with the files and databases to listening to user events.
And in that same section, we'll also cover the core features of JavaScript and delve
into some of the latest next generation features that are supported by NodeJS
so be prepared to see how versatile and dynamic JavaScript can be,
and we'll learn how to use its powers to build amazing applications.
Let's get started in the next video.
See you there.