100% Practical, Personalized, Classroom Training and Assured Job Book Free Demo Now
App Development
Digital Marketing
Other
Programming Courses
Professional COurses
JavaScript is a high-level, interpreted programming language primarily used for building interactive and dynamic web pages. Key features include:
var
: Function-scoped, can be redeclared, and is hoisted.let
: Block-scoped, cannot be redeclared in the same scope, and is hoisted.const
: Block-scoped, cannot be redeclared or reassigned after initialization, and is hoisted.JavaScript has two categories of data types:
string
, number
, boolean
, null
, undefined
, and symbol
.object
(includes arrays, functions, and objects).Hoisting is a JavaScript behavior where variable and function declarations are moved to the top of their containing scope during the compilation phase. However, only the declarations are hoisted, not the initializations. This allows you to use variables and functions before they are declared in the code.
A closure is a function that has access to its own scope, outer function's scope, and the global scope.
Example:
Â
function
keyword and is hoisted. Can be called before the declaration.The this
keyword refers to the current execution context and is determined by how a function is called. In a function, this
can refer to the global object, the object that the function is a method of, or a specific object if the function is called with the call()
or apply()
methods.
In JavaScript, objects can inherit properties and methods from other objects through a prototype chain. Each object has an internal link to another object called its prototype. If a property or method is not found in the object itself, JavaScript looks up the prototype chain until it finds the property or reaches the end of the chain.
There are multiple ways to iterate over an array:
for
loop with an index.forEach()
method: Invokes a provided function once for each array element.for...of
loop: Iterates over the values of an iterable (e.g., array).slice()
: Returns a shallow copy of a portion of an array without modifying the original array.splice()
: Modifies the contents of an array by removing or replacing existing elements and/or adding new elements. It returns the removed elements.The event loop is a crucial part of JavaScript's concurrency model. It continuously checks the message queue for tasks to execute. Each task is executed in its entirety before moving on to the next one. This allows JavaScript to be non-blocking and handle asynchronous operations efficiently.
Callbacks are functions passed as arguments to other functions, which are then invoked at a later time, usually after the completion of an asynchronous operation. They are commonly used in event handling, AJAX requests, and other asynchronous tasks.
Arrow functions are a concise way to write functions in ES6. They have a shorter syntax and do not bind their own this
value. Arrow functions are particularly useful for anonymous functions and for preserving the value of this
in callback functions.
Promise
Object: Represents the eventual completion or failure of an asynchronous operation and its resulting value.then()
method: Handles the fulfillment of a promise with optional success and failure callbacks.catch()
method: Handles the rejection of a promise.Promise.all()
: Resolves when all promises in an iterable are resolved or one is rejected.The try...catch
statement is used for error handling in JavaScript. Code that may throw an exception is placed inside the try
block. If an exception occurs, the control is transferred to the catch
block where the exception can be handled, logged, or ignored.
The finally
block is used in conjunction with the try...catch
statement and contains code that will be executed regardless of whether an exception is thrown or not. It is useful for cleanup tasks or actions that should be performed no matter what happens within the try
block.
Compare and contrast Promises, Callbacks, and Async/Await in JavaScript. When would you use each?
Example:
Error: Contact form not found.