Question 1: What is JavaScript?
Answer: JavaScript is a high-level, interpreted scripting language used to create and control dynamic website content. It is a core technology of the World Wide Web, alongside HTML and CSS.
Question 2: What are JavaScript Data Types?
Answer: JavaScript data types include undefined
, null
, boolean
, string
, symbol
, number
, and object
.
Question 3: Explain Hoisting in JavaScript.
Answer: Hoisting is JavaScript’s default behavior of moving declarations to the top of the current scope. Only the declarations are hoisted, not initializations.
Question 4: What is Closure in JavaScript?
Answer: A closure is a function that has access to its own scope, the outer function’s scope, and the global scope.
Question 5: What is the use of the this
keyword in JavaScript?
Answer: this
refers to the object it belongs to, and its value depends on where and how it is used.
Question 6: Explain the Prototype Chain in JavaScript.
Answer: The prototype chain is a mechanism where an object inherits properties and methods from another object. It’s the basis of inheritance in JavaScript.
Question 7: What is the Event Loop in JavaScript?
Answer: The event loop is a mechanism that allows JavaScript to perform non-blocking operations by executing code, collecting events, and executing queued sub-tasks.
Question 8: What are JavaScript Promises?
Answer: A promise is an object representing the eventual completion or failure of an asynchronous operation.
Question 9: Explain Arrow Functions in JavaScript.
Answer: Arrow functions are a concise way to write functions in JavaScript, which do not have their own this
, arguments
, super
, or new.target
.
Question 10: What are JavaScript Modules?
Answer: JavaScript modules are reusable pieces of code that can be exported from one program and imported for use in another program.
Question 11: What is Event Bubbling in JavaScript?
Answer: Event bubbling is a method of event propagation in the HTML DOM where an event starts at the most specific element and flows upwards to the least specific element.
Question 12: What is null
and undefined
in JavaScript?
Answer: null
is an assignment value representing no value, while undefined
is a type denoting a variable that has been declared but not assigned a value.
Question 13: Explain the ==
vs ===
operators.
Answer: ==
compares values after type coercion, while ===
compares both value and type, known as strict equality.
Question 14: What is a Callback Function in JavaScript?
Answer: A callback function is a function passed into another function as an argument and is executed after some operation has been completed.
Question 15: What are JavaScript Classes?
Answer: Classes in JavaScript are syntactical sugar over JavaScript’s existing prototype-based inheritance and offer a way to create objects and handle inheritance.
Question 16: What is Scope in JavaScript?
Answer: Scope in JavaScript determines the accessibility of variables and functions at various parts of the code.
Question 17: What are Template Literals in JavaScript?
Answer: Template literals are string literals allowing embedded expressions, multi-line strings, and string interpolation.
Question 18: What is async/await
in JavaScript?
Answer: async/await
is syntactic sugar for working with promises in a more comfortable and readable manner, making asynchronous code appear synchronous.
Question 19: What is the DOM?
Answer: The Document Object Model (DOM) is a programming interface for web documents. It represents the page so that programs can change the document structure, style, and content.
Question 20: What are JavaScript Higher-Order Functions?
Answer: Higher-order functions are functions that operate on other functions, either by taking them as arguments or by returning them.
Question 21: What is a JavaScript IIFE?
Answer: An Immediately Invoked Function Expression (IIFE) is a JavaScript function that runs as soon as it is defined.
Question 22: Explain Variable Hoisting.
Answer: Variable hoisting is JavaScript’s default behavior of moving all variable and function declarations to the top of the current scope during the compile phase.
Question 23: What is the Spread Operator in JavaScript?
Answer: The spread operator (...
) allows an iterable like an array or string to be expanded in places where zero or more arguments or elements are expected.
Question 24: What are JavaScript Generators?
Answer: Generators are functions that can be exited and later re-entered, allowing them to produce a sequence of values over time.
Question 25: Explain the use strict
directive.
Answer: use strict
is a directive that enforces stricter parsing and error handling in your JavaScript code, helping you to write cleaner and more reliable code.