JavaScript in Drupal
Drupal relies on a number of JavaScript libraries and plugins to perform some of its frontend tasks. For example, the ubiquitous jQuery library continues to be used in Drupal 8 and 9 as well. But of course, there are others.
Another thing I have already mentioned, but which is helpful to bring up again, is the fact that Drupal no longer loads things such as jQuery or its Ajax framework on all pages needlessly. For example, many pages serving anonymous users that do not require jQuery won't even load it. This can greatly improve performance. But it also means that when we define our libraries to include our own JavaScript files, we must always declare these as dependencies (if we need them). For example, jQuery is something you'll often depend on.
Drupal behaviors
One of the most important things you need to know when writing JavaScript files in Drupal is the concept of behaviors. But in order to understand that, let's get a bit of context...