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.

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.

Which of the following JavaScript methods can create a new HTML element?

  • createElement()
  • createNode()
  • createTag()
  • newElement()
You can create a new HTML element in JavaScript using the createElement() method. This method is used to dynamically generate HTML elements in your code. It takes the name of the HTML tag you want to create as an argument.

The arithmetic operator _______ increments the value of a variable by 1.

  • ++
  • --
  • +
  • +=
The arithmetic operator '++' is known as the increment operator. It increases the value of a variable by 1. For example, if you have a variable x and you write x++, it will increment the value of x by 1. This is commonly used in loops and counters in JavaScript.

You're refactoring your code to improve performance and notice a function that returns another function, accessing variables outside of its own scope. What specific JavaScript concept should you consider when optimizing this code section?

  • Function Closures
  • Function Prototypes
  • Event Bubbling
  • AJAX (Asynchronous JavaScript and XML)
When optimizing code that returns a function and accesses variables outside of its own scope, you should consider the concept of function closures. Function closures allow an inner function to "remember" and access variables from its containing (parent) function's scope even after the parent function has finished executing. This can be useful for encapsulating state and optimizing code.

The method _______ is used to sort the elements of an array.

  • sort()
  • splice()
  • split()
  • reduce()
The correct method is sort(). JavaScript arrays have a built-in sort() method that is used to sort the elements of an array in ascending order by default. You can also provide a compare function to customize the sorting behavior. For example, myArray.sort((a, b) => a - b) sorts the array numerically.

A function declaration is hoisted to the top of the ________ in which it was defined.

  • Scope
  • Block
  • Function
  • Statement
A function declaration is hoisted to the top of the function in which it was defined. This means you can use a function before declaring it in your code, but it's important to understand the implications of hoisting for variable scoping.

Which data type is NOT available in JavaScript?

  • Symbol
  • Float
  • String
  • Array
JavaScript supports a wide range of data types, including numbers, strings, symbols, and arrays. However, "Float" is not a distinct data type in JavaScript; instead, it uses the "number" data type to represent both integers and floating-point numbers. Symbols are used for creating unique identifiers, strings store text, and arrays are used to store collections of values.

How does the event loop manage asynchronous operations in JavaScript?

  • It uses multithreading to execute multiple tasks concurrently.
  • It queues asynchronous tasks and processes them sequentially.
  • It creates separate threads for each asynchronous task.
  • It uses callbacks to handle asynchronous tasks.
The event loop in JavaScript manages asynchronous operations by queuing them and processing them sequentially. This approach ensures that JavaScript remains single-threaded, preventing concurrency issues and making it non-blocking. This mechanism is crucial for handling I/O operations efficiently and maintaining a responsive user interface.

How does the for...of loop handle objects by default?

  • It iterates over the properties.
  • It throws an error.
  • It iterates over the values.
  • It iterates over the keys.
The for...of loop in JavaScript is used for iterating over iterable objects like arrays, strings, maps, and sets. By default, it iterates over the values of an iterable, making it a convenient choice for iterating through the elements of an array or the characters of a string, for example. It doesn't work with plain objects (non-iterable) and would require additional steps or methods to iterate over object properties.

You want to select an element with the ID 'special' using JavaScript. However, your code isn't working as expected. What could be the possible reason if the HTML structure is correct?

  • Typo in the ID selector
  • Missing JavaScript library inclusion
  • The element is hidden by CSS
  • Case sensitivity issues
If your code to select an element by its ID isn't working, one possible reason could be a typo in the ID selector. IDs are case-sensitive, so make sure it matches the ID attribute in the HTML exactly. The other options are less likely causes: missing libraries would generally cause JavaScript errors, and CSS hiding doesn't affect element selection.

What will the for...of loop iterate over in an array?

  • Indexes of the array
  • Property names of the array
  • Values of the array
  • The array itself
The for...of loop is used to iterate over the values of an array, making it useful for accessing the elements directly. Unlike the for...in loop, which iterates over properties, for...of provides a simple way to loop through the contents of an array.