You are building a single-page application, and you want to make an API call. You realize that you want to abort the fetch request if the user navigates away from the current page to avoid unnecessary data transfer. How can you achieve this?
- Use the fetch.abort() method to cancel the request when the user navigates away.
- Implement an if statement to check the navigation state and cancel the request accordingly.
- Set a timeout for the fetch request and cancel it if the user navigates away within the timeout period.
- There's no way to cancel a fetch request when the user navigates away.
To abort a fetch request when the user navigates away from the current page, you should implement an if statement that checks the navigation state and cancels the request accordingly. The other options are not suitable for this specific task, and there's no built-in fetch.abort() method in JavaScript.
You're reviewing a pull request, and you see that a developer used var to declare a variable inside a for loop. You notice that the variable is being accessed outside the loop without any issues. Why is this possible?
- Variable Hoisting
- Block Scoping (let/const)
- Function Scoping
- Global Scope
This is possible due to "Variable Hoisting" in JavaScript. Variables declared with var are hoisted to the top of their containing function or global scope. This means that the variable is accessible anywhere within that scope, even before its actual declaration in the code.
The break statement exits a while loop and continues executing the code that follows the loop at line number ________.
- immediately
- next
- specified
- labeled
The 'break' statement exits a while loop immediately and continues executing the code that follows the loop at the next line. It allows you to prematurely terminate a loop based on a certain condition, without completing the remaining iterations.
In which scenario is a function expression preferred over a function declaration?
- When you need the function to be hoisted and accessible before its declaration in the code.
- When you want to declare a function as a named function to improve code readability and debugging.
- When you need to define a function inside an object or as a callback function in another function.
- When you want to declare a function as a global function for reuse across multiple scripts.
A function expression is preferred over a function declaration when you need to define a function inside an object, pass it as a callback function, or use it in a specific local scope. Function expressions are often used in scenarios where you want to create functions on the fly and keep them within a limited scope.
The data type of NaN in JavaScript is _________.
- Not a Number (NaN)
- Number
- Undefined
- String
The data type of NaN in JavaScript is "Not a Number" (NaN). NaN is a special value representing an unrepresentable or undefined value in the context of numbers. It is not a regular number, undefined, or a string. Understanding the data type of NaN is important for handling unexpected mathematical operations in JavaScript.
To select elements with a specific class name, you should use the __________ method.
- getElementById()
- getElementByClass()
- querySelectorAll()
- querySelector()
To select elements with a specific class name, you should use the querySelector() method. This method allows you to select elements using CSS-like selectors, including class names. For example, document.querySelector('.classname') selects all elements with the specified class name.
While working on a project, you found out that the API you are fetching data from sends relevant error messages in the body of the response, even when the request fails. How do you extract and use this error message in JavaScript?
- Check the response.ok property to determine success and use response.statusText for error messages.
- Use the response.error property to access the error message.
- Parse the entire response body as a JSON object and access the error message field.
- Create a custom error handler function to retrieve the error message from the API.
To extract and use error messages from the API response, you should check the response.ok property to determine success or failure. If it's a failure, you can access the error message using response.statusText. The other options are not the standard way to extract error messages from a fetch response.
How do you ensure that dynamically added elements maintain accessibility features, like ARIA roles?
- Dynamically set ARIA roles using JavaScript after adding the element.
- Browsers automatically assign appropriate ARIA roles to new elements.
- Dynamically added elements cannot have ARIA roles.
- Add ARIA roles directly in the HTML source code.
To ensure that dynamically added elements maintain accessibility features like ARIA roles, you should dynamically set ARIA roles using JavaScript after adding the element. Browsers don't automatically assign ARIA roles, and adding roles directly in the HTML source code isn't dynamic. Option 3 is incorrect.
Unlike traditional functions, arrow functions do not have their own __________.
- this
- arguments
- return
- parameters
Unlike traditional functions, arrow functions do not have their own this binding. In arrow functions, this retains the value of the enclosing lexical context, which makes it useful in cases where you want to maintain the context of the surrounding code, such as in callbacks or when defining functions within functions.
You're debugging a JavaScript application and notice unexpected behavior in the manipulation of an array. The items are not being removed correctly using a method, and it turns out the array is not being modified at all. Which array method might be mistakenly being used?
- pop()
- push()
- splice()
- concat()
The concat() method is often mistakenly used for removing elements from an array because it doesn't modify the original array but returns a new array instead. The correct method for removing elements from an array is splice() or other methods like pop() or shift().