You know the data types in JavaScript. You can create a loop and define a function. Maybe you’ve heard of concepts like higher-order functions, promises, and async/await, but they confuse you. We will break down some intermediate JavaScript concepts and learn how they are relevant to real-world projects.