DEV Community

Cover image for Javascript fundamentals - The beginning
Leonardo Oliveira
Leonardo Oliveira

Posted on

Javascript fundamentals - The beginning

Some new developers or even those experience, can face it issues or difficulties case don't have a solid knowledge of the fundamentals.

To solve this, in this series, i wanna recap the javascript fundamentals to keep it fresh and to help any dev that come here to remember any specific topic.

First of all, What we gonna talk about?

All javascript fundamentals, from scratch to hero!

The fundamentals

What is Javascript?

Javascript is a programming language rich and complex, it be able to apply in very scenarios and a wide applications range.

Here we can see some exclusive characteristics:

  • Is a interpreted and JIT compiled programming language;
  • Has dynamic types;
  • Based on Prototypes;
  • Create with First-class functions;
  • Has clousores;
  • Event loop and non-blocking I/O;
  • Error handling with try/catch;
  • Flexible objects and arrays;
  • Template strings;
  • Modularity and support for module imports;
  • Support to asyncronhuos programming;

And much more...

For our porpose, these characteristics that's enough. We gonna explore each one of those points, we going get a solid knowledge of them.

Intepreted and JIT compiled

Javascript was traditionallity an interpreted language, meaning code is executed line by line. Nowdays, with advanced Javascript engines most code is compiled on the fly using Just in Time techniques to improve performance.

Dynamic types

JavaScript is a dynamically typed language, allowing the same variable to store different types of data at different times. This offers flexibility, but can also lead to errors that are more difficult to track down.

Prototypes

Instead of using traditional classes found in languages like C++ or Java, JavaScript uses prototypes for inheritance. This allows inheritance of properties and methods from one object to another.

First-class functions

JavaScript treats functions as first-class objects, allowing them to be assigned to variables, passed as arguments to other functions, returned from functions, and have their own properties and methods.

Closure

JavaScript supports closures, a powerful feature that allows functions to remember and access variables in the scope where they were created, even after the outer scope has ended.

Top comments (0)