JS Runtime is the heart of JS Runtime Environment. Browser can only execute the JS code because it has a JS runtime environment. JS engine is not a machine it’s a low-level program
Functions bind together within lexical scope/environment is closures. Functions along with lexical scope form a closure. The scope is directly dependent on the Lexical Environment
At the global level lexical environment reference points to null as there is no parent. Going from one scope to another by lexical environment ref is known as a scope chain. Lexical environment is the local memory plus the lexical environment of the parent memory.
Block is also known as compound statements. Block combines multiple JS code into a group
let & const block scope. var is global. Global Exe. The contest is created in JS. Global obj is always created
this === window (gives) true
Undefined acts as a placeholder until the variable is assigned a value it’s not empty
a=undefined; (BAD Practice)
Functions are first-class citizens in JS. Every function is a method but not every method is a function. When func is kept under obj it is said to be method. Values may be equal but their memory might not be the same.
The arrow function in hoisting behaves like a variable and not like a function