Why might for...of loops be preferred when working with asynchronous code?

  • They can be used with any iterable object.
  • They automatically handle Promise resolution.
  • They are faster than traditional for loops.
  • They provide better error handling mechanisms.
For...of loops are preferred when working with asynchronous code because they automatically handle Promise resolution. When you iterate over an iterable that contains Promises, for...of will await each Promise and provide the resolved value, making it more convenient for working with asynchronous operations.

What is the primary difference between while and do-while loops in JavaScript?

  • The while loop always executes the code block at least once
  • The do-while loop is more efficient
  • The while loop is not suitable for iterating over arrays
  • The do-while loop doesn't have a condition
The primary difference is that in a while loop, the condition is checked before executing the code block. If the condition is initially false, the code block may never run. In contrast, the do-while loop guarantees that the code block is executed at least once because it checks the condition after executing the block. This makes do-while useful when you want the code to run once before checking the condition.

The ________ operator can be used to compare both value and type in JavaScript.

  • Equality (===)
  • Assignment (=)
  • Identity (==)
  • Inequality (!=)
The Equality (===) operator can be used to compare both value and type in JavaScript. It checks if two values are strictly equal, meaning they have the same value and the same data type. The other options, such as Assignment (=) and Identity (==), do not perform strict value and type comparison. Inequality (!=) checks for inequality.

The process of an object inheriting properties and behaviors (methods) from its prototype is known as _________.

  • Encapsulation
  • Inheritance
  • Polymorphism
  • Abstraction
Inheritance is the process by which an object inherits properties and behaviors (methods) from its prototype or parent object. JavaScript uses a prototype-based inheritance model, where objects inherit from other objects, and this is a fundamental concept in the language.

The ________ method is used to read a Response stream and return it as a blob.

  • text()
  • json()
  • blob()
  • arrayBuffer()
The blob() method is used to read a Response stream and return it as a blob object. This is commonly used when dealing with binary data or files. The other options (text(), json(), arrayBuffer()) are used for different types of Response data processing.

You are debugging a web application and notice that a "for" loop is causing the webpage to hang. What could be a potential reason and how might you solve it?

  • Infinite Loop
  • Excessive DOM Manipulation
  • Missing Loop Condition
  • Insufficient Memory Allocation
One potential reason for a webpage hang caused by a "for" loop is excessive DOM manipulation within the loop, which can block the main thread. To solve this, consider moving DOM manipulation outside the loop or optimizing the DOM operations. An infinite loop, missing loop condition, or insufficient memory allocation could also cause hangs but are less likely in this context. JavaScript Debugging

Which property of the Response object represents the status text of the response?

  • statusText
  • statusCode
  • status
  • statusDescription
The statusText property of the Response object represents the status text of the HTTP response. It provides a textual description of the HTTP status code, such as "OK" for status code 200 or "Not Found" for status code 404. This property is useful for understanding the meaning of the response status code in a more human-readable form.

While reading through a JavaScript codebase, you see a function that is returned from another function and retains access to its lexical scope, even after the outer function has finished execution. What is this pattern called?

  • Callback
  • Promise
  • IIFE (Immediately Invoked Function Expression)
  • Higher-order Function
This pattern is known as a "Higher-order Function." In JavaScript, higher-order functions are functions that can take other functions as arguments or return them. This enables functions to maintain access to their lexical scope, creating closures.

What is the purpose of the status property in an HTTP response?

  • To specify the content type
  • To indicate the HTTP status
  • To define the response data
  • To specify the request method
The status property in an HTTP response is used to indicate the HTTP status code for the response. HTTP status codes provide information about the outcome of an HTTP request, such as whether it was successful (e.g., status code 200 for OK) or encountered an error (e.g., status code 404 for Not Found). It helps the client understand the result of the request.

You are debugging a JavaScript application and encounter a ReferenceError at runtime, despite a function being defined in the code. What could be the possible reason if the function was defined using a function expression?

  • The function is declared within a block scope.
  • The function was defined in strict mode.
  • The function was hoisted to the top of the code.
  • The function was defined inside another function.
When a function is defined using a function expression and declared within a block scope, it may not be accessible outside of that block, resulting in a ReferenceError. This is because the function's scope is limited to the block where it's defined.