How can you add a new item to the beginning of an array?

  • arr.unshift(newItem);
  • arr.push(newItem);
  • arr.append(newItem);
  • arr.insert(0, newItem);
To add a new item to the beginning of an array in JavaScript, you can use the arr.unshift(newItem); method. This will insert newItem at the start of the array, shifting the existing elements to the right. push() adds to the end of the array, append() and insert() are not standard array methods.

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.

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.

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.

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.

What happens when a function declaration and a var variable are hoisted in the same scope?

  • The var variable takes precedence and shadows the function declaration.
  • The function declaration takes precedence and shadows the var variable.
  • JavaScript throws an error since function declarations and var variables can't be hoisted in the same scope.
  • They both coexist in the same scope, and there's no shadowing or precedence.
When a function declaration and a var variable with the same name are hoisted in the same scope, the function declaration takes precedence and shadows the var variable. This is known as "hoisting," and it means that the function is accessible throughout the scope, even before its actual declaration in the code.

While working with React, you notice a function defined using the function keyword is not updating the component state as it should. You suspect it's related to the "this" keyword. What might be the problem?

  • The function should be an arrow function
  • "this" in a React component refers to the element
  • "this" in a React component refers to the component
  • The function lacks proper binding
In React, when using the function keyword to define a custom method within a component class, you need to manually bind the function to the component instance in the constructor using "this.functionName = this.functionName.bind(this);" to ensure that "this" refers to the component instance and not the function itself.

Unlike function expressions, function declarations are _________.

  • Hoisted
  • Anonymous
  • Scoped
  • Encapsulated
Unlike function expressions, function declarations are hoisted. This means they are moved to the top of their containing scope during compilation, allowing you to call them before they are defined in the code. Function expressions are not hoisted in the same way.

JavaScript was initially designed to make web pages more _________.

  • Interactive
  • Static
  • Secure
  • Colorful
JavaScript was initially designed to make web pages more interactive. It allowed developers to create dynamic and engaging web content by manipulating elements on web pages in response to user actions. This interactivity revolutionized web development.

How can you handle exceptions within a "for" loop to prevent it from being terminated prematurely?

  • By wrapping the entire loop in a try-catch block
  • By using the "continue" statement
  • By adding a "finally" block after the loop
  • By setting a maximum execution time for the loop
To handle exceptions within a "for" loop, you can wrap the entire loop in a try-catch block. This allows you to catch and handle exceptions that occur during the loop's execution, preventing it from being terminated prematurely. The other options do not directly address exception handling within the loop.