What is the role of the .catch() method in Promise chaining?

  • It is used to handle errors that occur in the promise chain.
  • It is only applicable to synchronous code.
  • It can only be used once in a promise chain.
  • It must always be placed before any .then() block.
The .catch() method in Promise chaining is used to handle errors that occur anywhere in the promise chain. It ensures that errors are caught and appropriate actions are taken to handle them gracefully.

The spread operator can be effectively used to concatenate arrays without the use of traditional methods like '__________'.

  • concat
  • push
  • join
  • spread
The spread operator (...) can be used to concatenate arrays in a concise way. It allows you to spread the elements of one array into another, effectively achieving concatenation without using traditional methods like concat, push, or join.

How would you use static properties in a class representing a database connection to ensure there is only one connection instance?

  • Implement a singleton pattern by allowing only one instance of the class and store the connection as an instance property.
  • Utilize a static property to store the connection instance and check its existence before creating a new one.
  • Use a separate connection manager class with a static property to handle the singleton behavior.
  • Implement a global variable to store the connection instance and update it as needed.
To ensure there is only one instance of a database connection, using a static property within the class is appropriate. This static property can store the connection instance, and before creating a new connection, you can check if the static property already holds a valid connection. This approach aligns with the singleton pattern, ensuring a single point of access to the connection.

How does the inclusion of "type": "module" in the package.json affect module resolution in Node.js?

  • Enables ECMAScript module resolution
  • Disables CommonJS module resolution
  • Triggers automatic transpilation of modules
  • Specifies module entry points
Including "type": "module" in package.json informs Node.js that the project uses ECMAScript modules. This affects module resolution by enabling the ECMAScript module resolution strategy, allowing the use of import and export statements.

Consider a situation where you need to execute multiple asynchronous operations in sequence, each dependent on the result of the previous one. How would you implement this with Promises?

  • Chaining Promises with .then()
  • Promise.sequence()
  • Promise.all()
  • Async/Await
To execute multiple asynchronous operations in sequence, you would chain promises using .then(). This ensures that each operation is dependent on the result of the previous one. This approach maintains a clear and sequential flow in your asynchronous code.

How does the filter method determine which elements to include in the returned array?

  • Based on whether elements pass a specified condition provided by a callback function.
  • Returns elements at even indices in the array.
  • Sorts the array in ascending order and returns the elements that meet a certain criterion.
  • Includes all elements except the ones specified in the callback function.
The filter method creates a new array with all elements that pass a test implemented by the provided function. The callback function determines the condition for inclusion, and only elements for which the function returns true are included in the new array. This is commonly used for selecting a subset of elements based on a specific condition.

To import only a part of a module, use the __________ syntax in ES6.

  • import {specificPart} from
  • include {specificPart} from
  • load {specificPart} from
  • require {specificPart} from
In ES6, when importing only a part of a module, you use the {} syntax. For example, import {specificPart} from 'moduleName'; allows you to import only the specified part of the module.

Can currying be applied to asynchronous functions in JavaScript? How?

  • Yes, by using libraries like Lodash
  • No, currying is applicable only to synchronous functions
  • Yes, by returning a promise from each curried function
  • Yes, by using the async/await syntax in each curried function
Currying can be applied to asynchronous functions by returning a promise from each curried function. This allows composing asynchronous operations in a modular and readable manner.

To ensure all errors are caught in an async function, use try/catch along with ________.

  • async/await
  • catch/error
  • reject/resolve
  • throw/catch
When working with asynchronous code in JavaScript, using try/catch blocks along with async/await ensures that errors within the async function are properly caught and handled.

Named exports are useful for ___________ functionality across modules.

  • hiding
  • sharing
  • encapsulating
  • extending
Named exports in ES6 allow you to share specific functionalities across modules. It is a way to expose selected parts of a module to be used in other modules, making option b) sharing the correct answer.