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.
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.
How does the syntax of an arrow function differ from a traditional function in JavaScript?
- Uses a shorter syntax (=>)
- Uses the function keyword
- Uses a different declaration keyword
- No difference in syntax
Arrow functions in ES6 use a shorter syntax (=>) compared to the traditional function declaration. This concise syntax is especially useful for simple one-liner functions.
To inherit properties and methods from another class in ES6, use the ________ keyword.
- Inherits
- Extends
- InheritsFrom
- ExtendsFrom
In ES6, the extends keyword is used to inherit properties and methods from another class.
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.