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.

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.

How can functional composition benefit the readability and maintainability of JavaScript code?

  • Enhances code modularity
  • Reduces side effects
  • Encourages reuse of functions
  • All of the above
Functional composition involves combining small, pure functions to create more complex ones, enhancing modularity, reducing side effects, and promoting code reuse. This leads to improved code readability and maintainability.

When using Promises with AJAX, handling network errors is done through the ______ method of the Fetch API.

  • error
  • fail
  • catch
  • reject
When using Promises with AJAX, handling network errors is done through the catch method of the Fetch API. The catch block allows you to handle any errors that occurred during the AJAX request.

What is the impact of using a pure function on the predictability and testability of code?

  • Increases unpredictability
  • Decreases testability
  • Enhances predictability
  • No impact on testability
Using pure functions in code enhances predictability by ensuring that the function's output is solely determined by its input, without relying on external state. This predictability simplifies testing, as pure functions can be easily isolated and tested independently, contributing to overall code reliability.

The ability to _________ values during destructuring allows for more flexible data manipulation.

  • skip
  • swap
  • default
  • mutate
The ability to set default values during destructuring provides flexibility in handling undefined or missing values, enhancing data manipulation capabilities.

Side effects in a function include things like modifying a _________ or logging to the console.

  • Variable
  • Object
  • Array
  • State
Side effects can include modifying external state, like changing the value of a variable or an object, which goes against the principles of pure functions.