Skip to main content

Posts

Showing posts with the label web development

JavaScript Hoisting

 Hoisting JavaScript Hoisting refers to the process where the interpreter allocates memory for variables and function declarations prior to the execution of the code. Declarations that are made using the var keyword are initialized with the default value of undefined Declarations made using the let and the const keywords are not initialized as a part of the hoisting  Hoisting takes place during the creation phase of the Execution Context. consider the following script:  output: undefined Steps involved in the execution of the above script: A new Global Execution Context is created. num variable is initialized with undefined . In the execution phase, the code is executed line-by-line. In the first line it logs undefined to the console. Line two is skipped as it already defined num in the creation phase. In line three a value of 6 is assigned to num. let and const keywords let and const keywords are hoisted but not initialized Consider the following script:  output: ReferenceError:

JavaScript Runtime Environment

 What is a Runtime Environment? A runtime environment is where your program will be executed. It determines what global objects your program can access and it can also impact how it runs. How does the JavaScript Environment Work? The JavaScript runtime environment provides access to built-in libraries and objects that are available to program so that it can interact with the outside world and make the code work. Different browsers have different JavaScript Runtime Environments. In the context of a browser, JS runtime  is comprised of the following elements: The JavaScript Engine Web APIs The Call Back Queue The Event Loop The JavaScript Engine All the browsers have a JavaScript Engine. But all are not necessarily the same engine. Also, all the engines follow the same standard although their implementation is different. For example, Google Chrome has the V8 engine and Mozilla Firefox has Spyder Monkey as a JavaScript engine. The JavaScript Engine parses the code for us. It has two major