Promise
JavaScript promises are objects used for asynchronous programming, representing a value that might be available now, or in the future, or never. React commonly utilizes promises in scenarios like data fetching, where an asynchronous operation is needed to retrieve data before updating the component's state.
Spread Syntax
spread syntax (also known as the spread operator) is a JavaScript feature used for object and array manipulation. It allows for the expansion of iterable objects into individual elements or properties
Async and Await
async is a keyword used in asynchronous programming. When a function is declared as async, it means that it returns a promise, and the execution of the function will not block the rest of the code. Inside an async function, you can use the await keyword to pause the execution and wait for the resolution of a promise before moving on