Explain the difference between callbacks, promises, and async/await.
- Callbacks: Functions passed as arguments, executed when async operation
finishes. Can lead to “callback hell.”
- Promises: Objects representing future results; allow chaining with .then().
- Async/await: Syntactic sugar over promises; lets you write async code that looks
synchronous, improving readability.