A WeakSet only stores _________, and its elements are garbage collected when there is no other reference to them.

  • Objects
  • Primitives
  • Arrays
  • Functions
A WeakSet only stores objects, and its elements are garbage collected when there is no other reference to them. WeakSets are useful for holding "weak" references to objects, meaning they won't prevent an object from being garbage collected.

The WeakSet does not have a _______ method which is available in a regular Set.

  • size
  • delete
  • clear
  • add
The WeakSet does not have a 'clear' method, which is available in a regular Set. The 'clear' method in a Set is used to remove all elements from the Set, but WeakSet lacks this functionality.

Can you use both named and default exports in the same ES6 module?

  • Yes
  • No
  • Only if the module is in strict mode
  • Only if the named exports are functions
Yes, you can use both named and default exports in the same ES6 module. This allows you to export a single "default" value along with multiple named exports from the same module.

Can an arrow function have its own this context?

  • Yes, it has its own this context
  • No, it shares the this context with the surrounding code
  • Yes, but it inherits the this context from the parent scope
  • No, it always refers to the global object
Yes, an arrow function has its own this context, which means it does not bind its own this but retains the this value of the enclosing lexical scope. This behavior can be advantageous in certain scenarios.

What is the impact of dynamic imports on code splitting in a JavaScript application?

  • Increases modularity
  • Decreases modularity
  • Has no impact
  • Only works in Node.js
Dynamic imports in JavaScript have a positive impact on code splitting by allowing modules to be loaded on-demand. This enhances modularity, as only the necessary code is fetched when needed, reducing the initial load time of the application.

Pure functions should not modify any _________ state.

  • Local
  • External
  • Internal
  • Global
Pure functions should not have side effects, and modifying global state is considered a side effect. Therefore, they should not modify any global state.

When using arrow functions with higher-order functions like Array.prototype.map, this will refer to the ________ where the arrow function was defined.

  • Global Object
  • Callback Function
  • Scope Chain
  • Enclosing Function
Arrow functions capture the this value from their surrounding lexical scope. In the context of higher-order functions, this is crucial to understanding and avoiding potential issues.

In an AJAX call using Promises, _________ is a method used to parse the JSON response.

  • .parseJSON()
  • .toJSON()
  • .parse()
  • .json()
The correct method for parsing the JSON response in a Promises-based AJAX call is .json(). This method is specifically designed to extract and parse the JSON data from the response.

Question 2: In a large-scale application, how does the use of absolute imports in ES6 modules affect maintainability and refactoring compared to relative imports?

  • Easier refactoring, better maintainability
  • No significant impact
  • Harder refactoring, lower maintainability
  • Depends on the project structure
Using absolute imports can make refactoring more challenging, as changes to the file structure may require updating import paths throughout the codebase. This can result in lower maintainability compared to relative imports, which automatically adjust to the file's position. Consider the trade-offs based on project size and structure.

In ES6, setting "type": "______" in package.json informs Node.js to treat JavaScript files as ES modules.

  • "ES6"
  • "module"
  • "script"
  • "import"
By setting "type": "module" in package.json, Node.js is informed to treat JavaScript files as ES modules, allowing the use of import/export syntax and adhering to ES6 module behavior.