JavaScript Expert
How are heaps related to JavaScript?
Select the correct answer
Heaps in JavaScript are used to style HTML elements.
Heaps in JavaScript are a type of function.
Heaps in JavaScript are used to manage browser cookies.
Heaps in JavaScript are related to memory allocation.
What is a generator function?
Select the correct answer
A generator function is a function that only works with arrays.
A generator function is a function that can pause and resume its execution.
A generator function is a function that always returns a promise.
A generator function is a function that can only be used in synchronous code.
What is the difference between reflow and repaint?
Select the correct answer
Reflow and repaint are the same process.
Repaint is the process of calculating the layout of a webpage, while reflow is the process of updating the visual appearance.
Reflow and repaint are used only in backend development.
Reflow is the process of calculating the layout of a webpage, while repaint is the process of updating the visual appearance.
Why is JavaScript treated as single-threaded?
Select the correct answer
JavaScript is treated as single-threaded because it executes one piece of code at a time.
JavaScript is treated as single-threaded because it can only run on single-core processors.
JavaScript is treated as single-threaded because it is used only for styling.
JavaScript is treated as single-threaded because it can only be used on servers.
What Is Obfuscation in JavaScript?
Select the correct answer
Obfuscation in JavaScript is the practice of styling HTML elements.
Obfuscation in JavaScript is the practice of compiling code.
Obfuscation in JavaScript is the practice of making code difficult to understand.
Obfuscation in JavaScript is the practice of making code easier to read.
What is a Temporal Dead Zone?
Select the correct answer
A Temporal Dead Zone is the time between variable assignment and variable declaration.
A Temporal Dead Zone is the time between entering a scope and when the variable is declared.
A Temporal Dead Zone is the time between scope exit and variable declaration.
A Temporal Dead Zone is the time between variable declaration and variable assignment.
Explain hoisting.
Select the correct answer
Hoisting is a JavaScript mechanism for managing browser cookies.
Hoisting is a JavaScript mechanism for styling HTML elements.
Hoisting is a JavaScript mechanism where variables and function declarations are moved to the top of their scope.
Hoisting is a server-side technique.
What is event delegation in JavaScript?
Select the correct answer
Event delegation is a technique for handling events where a single event listener is added to a parent element.
Event delegation is a server-side technique.
Event delegation is used to style HTML elements.
Event delegation is a method to stop event propagation.
What is ArrayBuffer?
Select the correct answer
ArrayBuffer is used to manage browser cookies.
ArrayBuffer is a server-side technology.
ArrayBuffer is used to style HTML elements.
ArrayBuffer is a type of object used to represent a fixed-length raw binary data buffer.
What is polyfill?
Select the correct answer
A polyfill is used to manage browser cookies.
A polyfill is a server-side technology.
A polyfill is used to style HTML elements.
A polyfill is code that provides modern functionality in older environments that do not natively support it.
What are modules?
Select the correct answer
Modules are reusable pieces of code that can be imported and exported.
Modules are used to style HTML elements.
Modules are server-side components.
Modules are used to manage browser cookies.
What is Object.freeze?
Select the correct answer
Object.freeze styles HTML elements.
Object.freeze duplicates an object.
Object.freeze prevents modifications to an object.
Object.freeze allows modifications to an object.
What is type coercion?
Select the correct answer
Type coercion is used for styling HTML elements.
Type coercion is the process of declaring variables.
Type coercion is the manual conversion of values from one type to another.
Type coercion is the automatic conversion of values from one type to another.
Explain the spread/rest operator (...) in ES6.
Select the correct answer
The spread operator (...) and the rest operator (...) are used for styling HTML elements.
The spread operator (...) is used only for objects, and the rest operator (...) is used only for arrays.
The spread operator (...) expands iterable values, and the rest operator (...) condenses multiple elements into an array.
The spread operator (...) condenses multiple elements into an array, and the rest operator (...) expands iterable values.
What are the difference between es5 and es6?
Select the correct answer
ES6 is the same as ES5 with no new features.
ES6 introduced features like arrow functions, classes, and template literals.
ES6 is used for backend development only.
ES5 introduced features like arrow functions, classes, and template literals.
How do you determine two values same or not using object in JavaScript?
Select the correct answer
To determine if two values are the same, use Object.is method.
To determine if two values are the same, use Object.copy method.
To determine if two values are the same, use Object.compare method.
To determine if two values are the same, use Object.equal method.
What is the Event Loop in JavaScript, and how does it work?
Select the correct answer
The Event Loop in JavaScript compiles the code.
The Event Loop in JavaScript manages browser cookies.
The Event Loop in JavaScript manages the execution of asynchronous code.
The Event Loop in JavaScript styles HTML elements.
What is optional chaining?
Select the correct answer
Optional chaining is used to declare variables.
Optional chaining is used to import modules.
Optional chaining is used to style HTML elements.
Optional chaining is a feature that allows safe access to nested object properties.
What is a Cross-Origin Resource Sharing (CORS) policy, and how does it work?
Select the correct answer
Cross-Origin Resource Sharing (CORS) policy is a server-side technology.
Cross-Origin Resource Sharing (CORS) policy is used to style web pages.
Cross-Origin Resource Sharing (CORS) policy is used to compile JavaScript code.
Cross-Origin Resource Sharing (CORS) policy allows restricted resources on a web page to be requested from another domain.
What is Cross-Site Scripting (XSS) in web security, and how can you prevent it?
Select the correct answer
Cross-Site Scripting (XSS) is a security vulnerability that allows attackers to inject malicious scripts into web pages.
Cross-Site Scripting (XSS) is a method to style web pages.
Cross-Site Scripting (XSS) is used to manage browser cookies.
Cross-Site Scripting (XSS) is a server-side technology.
What is a pure function?
Select the correct answer
A pure function is a function that only works with strings.
A pure function is a function that has no side effects and returns the same output for the same input.
A pure function is a function that can only be used in synchronous code.
A pure function is a function that always returns a promise.
What is a higher-order function?
Select the correct answer
A higher-order function is a function that always returns a promise.
A higher-order function is a function that is always asynchronous.
A higher-order function is a function that only works with arrays.
A higher-order function is a function that takes another function as an argument or returns a function.
What is ECMAScript?
Select the correct answer
ECMAScript is the standard on which JavaScript is based.
ECMAScript is a JavaScript library.
ECMAScript is a server-side language.
ECMAScript is a CSS framework.
What is AJAX, and how does it work in JavaScript?
Select the correct answer
AJAX allows web pages to be updated asynchronously by exchanging data with a server.
AJAX is used to style web pages.
AJAX is a server-side technology.
AJAX is used to compile JavaScript code.
What is the difference between double (==) and triple (===) equals in JavaScript?
Select the correct answer
Double equals (==) checks for value and type equality, triple equals (===) checks for value equality.
Double equals (==) and triple equals (===) are the same.
Double equals (==) checks for value equality, triple equals (===) checks for value and type equality.
Double equals (==) checks for object reference equality, triple equals (===) checks for array equality.
Is JavaScript pass by reference or pass by value?
Select the correct answer
JavaScript is pass by value for primitives and pass by reference for objects.
JavaScript is pass by reference for primitives and pass by value for objects.
JavaScript is always pass by value.
JavaScript is always pass by reference.
What is the difference between the client side and server side?
Select the correct answer
Client side and server side do not perform operations.
Client side and server side are the same.
Client side refers to server operations, server side refers to browser operations.
Client side refers to operations on the user's browser, server side refers to operations on the server.
What is NaN?
Select the correct answer
NaN stands for Null-and-Number.
NaN stands for Number-and-Null.
NaN stands for Not-a-Number, representing a valid number.
NaN stands for Not-a-Number, representing an invalid number.
What is the difference between null and undefined?
Select the correct answer
null represents the intentional absence of value, undefined represents the uninitialized state.
null and undefined are used to declare variables.
null and undefined are the same.
null represents the uninitialized state, undefined represents the intentional absence of value.
What is the difference between a shallow and a deep copy?
Select the correct answer
Shallow copy and deep copy do not duplicate properties.
Shallow copy and deep copy are the same.
A shallow copy duplicates all nested properties, a deep copy duplicates only the top-level properties.
A shallow copy duplicates only the top-level properties, a deep copy duplicates all nested properties.
What are template literals (template strings) in ES6?
Select the correct answer
Template literals are used to declare variables.
Template literals are used to style HTML elements.
Template literals are used to import modules.
Template literals are string literals allowing embedded expressions.
What is the role of a package manager like npm or yarn in JavaScript development?
Select the correct answer
A package manager like npm or yarn manages dependencies and packages in JavaScript.
A package manager like npm or yarn styles HTML elements.
A package manager like npm or yarn manages browser cookies.
A package manager like npm or yarn compiles JavaScript code.
What is the difference between event bubbling and event capturing?
Select the correct answer
Event bubbling and event capturing do not propagate events.
Event bubbling and event capturing are the same.
Event capturing propagates events from child to parent, event bubbling from parent to child.
Event bubbling propagates events from child to parent, event capturing from parent to child.
How to prevent event bubbling?
Select the correct answer
To prevent event bubbling, use the stopImmediatePropagation method.
To prevent event bubbling, use the preventDefault method.
To prevent event bubbling, use the addEventListener method.
To prevent event bubbling, use the stopPropagation method.
Explain event bubbling in JavaScript?
Select the correct answer
Event bubbling is the event propagation from child to parent elements.
Event bubbling is the event propagation from parent to child elements.
Event bubbling stops the event from being propagated.
Event bubbling is used to prevent event default behavior.
Explain Promise.all.
Select the correct answer
Promise.all is used to handle synchronous operations.
Promise.all returns the first resolved promise.
Promise.all executes promises in sequence.
Promise.all takes an array of promises and returns a single promise.
What is callback hell?
Select the correct answer
Callback hell is when callbacks are used to manage CSS styles.
Callback hell occurs when callbacks are used in synchronous code.
Callback hell is when callbacks are executed in parallel.
Callback hell refers to the situation where callbacks are nested within other callbacks.
What are Promises?
Select the correct answer
Promises are used to manage CSS styles.
Promises are used to declare variables.
Promises are used to handle asynchronous operations in JavaScript.
Promises are used to perform mathematical operations.
What are callback functions?
Select the correct answer
Callback functions are used to style HTML elements.
Callback functions are only used in synchronous code.
Callback functions are functions that call themselves recursively.
Callback functions are functions passed into another function as an argument.
Explain synchronous vs asynchronous programming.
Select the correct answer
Synchronous programming allows tasks to run concurrently, while asynchronous programming executes tasks sequentially.
Synchronous programming is only used in frontend development, while asynchronous programming is used in backend development.
Synchronous programming executes tasks sequentially, while asynchronous programming allows tasks to run concurrently.
Synchronous programming is used for styling, while asynchronous programming is used for scripting.
What is the difference between Session Storage and Local Storage?
Select the correct answer
Session Storage can store more data than Local Storage.
Local Storage data is cleared when the page session ends, Session Storage persists.
Local Storage can only store strings, Session Storage can store objects.
Session Storage data is cleared when the page session ends, Local Storage persists.
Explain the concept of closures in JavaScript
Select the correct answer
Closures prevent functions from accessing variables from an outer function scope.
Closures are used to style HTML elements.
Closures are used to import modules.
Closures allow functions to access variables from an outer function scope.
What are the main differences between arrow and regular functions?
Select the correct answer
Arrow functions cannot be assigned to variables.
Arrow functions do not have their own this context.
Arrow functions are always synchronous.
Arrow functions cannot accept arguments.
What is the difference between function declaration and function expression JavaScript?
Select the correct answer
Function declarations are hoisted, function expressions are not.
Neither function declarations nor function expressions are hoisted.
Both function declarations and function expressions are hoisted.
Function expressions are hoisted, function declarations are not.
What are Imports and Exports in JavaScript?
Select the correct answer
Imports and Exports are used for defining CSS classes.
Imports and Exports are used to style HTML elements.
Imports and Exports allow modules to be used across different files.
Imports and Exports manage database connections.
What is the this keyword in JavaScript?
Select the correct answer
The this keyword refers to the object it belongs to.
The this keyword refers to the global object always.
The this keyword refers to the function's prototype.
The this keyword is not used in JavaScript.
What are the differences between var, let, and const?
Select the correct answer
var is function-scoped, let and const are block-scoped.
var is block-scoped, let and const are function-scoped.
var and let are block-scoped, const is function-scoped.
var and const are block-scoped, let is function-scoped.
What is the difference between the Document and Window in Javascript?
Select the correct answer
The Document object is for backend logic, while the Window object is for frontend logic.
The Document object is used for JavaScript code, while the Window object is used for CSS.
The Document object represents the HTML document, while the Window object represents the browser window.
The Document object is for APIs, while the Window object is for HTML tags.
Explain the window object.
Select the correct answer
The window object represents the browser's window.
The window object represents the document's body.
The window object is used to style elements in CSS.
The window object is a backend server component.
What is the DOM?
Select the correct answer
The DOM is a JavaScript library.
The DOM is a database management system.
The DOM is a styling language for web pages.
The DOM is a programming interface for HTML and XML documents.
What are the differences between JavaScript and TypeScript?
Select the correct answer
TypeScript is a completely different language from JavaScript.
TypeScript is a superset of JavaScript that adds static types.
JavaScript and TypeScript are both compiled languages.
JavaScript is a superset of TypeScript that adds dynamic types.
What is the difference between JavaScript and Java?
Select the correct answer
JavaScript is compiled, while Java is interpreted.
JavaScript is a scripting language, while Java is a programming language.
JavaScript is used for backend, while Java is used for frontend.
JavaScript and Java are the same in terms of syntax.
Is JavaScript a compiled or interpreted language?
Select the correct answer
JavaScript is a compiled language.
JavaScript is neither compiled nor interpreted.
JavaScript is an interpreted language.
JavaScript is both compiled and interpreted.
Is JavaScript a statically typed or a dynamically typed language?
Select the correct answer
JavaScript is a strongly typed language.
JavaScript is a dynamically typed language.
JavaScript is a statically typed language.
JavaScript is a weakly typed language.