In this part I would like to raise a topic that can be one of the strangest concepts in JavaScript. Coercion By this concept we mean converting a value from one type to another. As it was said be...
Types in JavaScript The way in which the JavaScript engine deals with types is called Dynamic Typing. It is based on the fact that there is no need to provide information about the type of variabl...
Scope Chain At the beginning I would like to talk about a similar case as we had in the last part. function a() { console.log(myVar); } function b() { var myVar = 2; a(); } var myVar = 1; ...
When we talk about JavaScript and how it works under the hood we can't forget about Variable Environments. It's related to the Function Execution Context too. Variable Environments There were onl...
In this post, I want to discuss one of the most important topics, which in a way is connected with the issue from the previous part. However, before we get to it, I want to explain quickly what Inv...
Metaprogramming, the art of messing with the internals of a programming language, is one of the most powerful learning tools an aspiring programmer can utilize. It's very easy to take the workings ...
This part will be the shortest of all, but before the next posts, I would like to discuss these two concepts. Although the explanations provided here will be useful in subsequent posts, I think tha...
Execution Context: (Code) Execution Phase As you recall from the previous part, I mentioned that there are two phases that take place in the Execution Context. The first is Creation Phase, the sec...
In the current post I would like to develop some of what was discussed in part 3. At the beginning, we'll slightly change our one.js JavaScript file. var a = "Hello"; function b() { console.l...
In this part, I would like to raise one topic. Global Object. Let's start. In a situation where we have already written our first JavaScript program that for example is a function displaying "Hell...