To iterate over an array's elements using a for...of loop, write for (const element _______ array).
- in
- of
- from
- within
In JavaScript, the correct syntax for iterating over an array using a for...of loop is for (const element of array). The of keyword is used to loop over the values in an iterable object like an array.
Can async functions be used as constructors for new objects?
- Yes
- No
- Only in specific JavaScript engines
- Only with the use of decorators
No, async functions cannot be used as constructors for new objects. Async functions always return a Promise, and using them with the new keyword will result in a TypeError. Constructors should return objects, not Promises.
To handle errors in an async function, you should use a try...catch __________.
- Block
- Clause
- Mechanism
- Statement
To catch errors in an async function, you should use a try...catch statement. This helps in graceful error handling and prevents unhandled promise rejections.
In a Promise, if an error is not caught, it leads to a(n) ________.
- Rejection
- Resolution
- Exception
- Completion
In a Promise, when an error occurs and is not caught, the Promise is rejected. This can lead to unhandled promise rejections, causing issues in the application. Understanding how to handle promise rejections is crucial in asynchronous programming with Promises.
How can you access both the index and value of an array element in a for...of loop?
- for (let [index, value] of array.entries())
- for (let {index, value} of array.entries())
- for (let (index, value) of array.entries())
- for (let index, value of array.entries())
In a for...of loop, you can use the entries() method on the array to access both the index and value. The returned value is an array where the first element is the index and the second element is the value. This destructuring assignment allows easy access to both index and value.
When you extend a class in ES6, what must you do before using this in the constructor?
- Initialize the subclass properties
- Call the super() method
- Import the parent class
- Define a new constructor
In ES6, when extending a class, you must call super() in the constructor of the subclass before using this. The super() call initializes the properties of the parent class.
To prevent modifications to an object’s prototype, the _________ method can be used to seal the prototype.
- Freeze
- Seal
- PreventExtensions
- Protect
The seal method in JavaScript can be used to prevent any further addition or deletion of properties on an object, including its prototype. This ensures that the prototype remains fixed and cannot be modified.
What happens if you try to import a named export that doesn't exist in the module?
- It will result in a runtime error.
- It will import a null value.
- It will import an undefined value.
- It will not have any effect, and the code will run without errors.
If you try to import a named export that doesn't exist in the module, it will result in a runtime error. The import statement expects the named export to exist, and an attempt to import a non-existent export will throw an error.
To dynamically import a module based on a variable, the variable's value is included inside the __________.
- Template Literal
- Parentheses
- Square Brackets
- Curly Braces
To dynamically import a module based on a variable, the variable's value is included inside the square brackets of the import statement. This feature is known as dynamic import expressions, allowing developers to specify the module path at runtime. By using square brackets, the JavaScript interpreter treats the import statement as a dynamic expression, enabling more flexibility in module loading. Understanding this syntax is essential for dynamically loading modules based on runtime conditions, enhancing the adaptability of the application.
Can you use const within a for...of loop to declare a variable for each iteration?
- Yes
- No
- It depends
- Not applicable
In a for...of loop, the variable declared using const cannot be reassigned in each iteration. The loop variable retains its value throughout the loop, making it unsuitable for situations where reassignment is needed for each iteration.