The Balrogs (Sindarin for ‘Demon of Might’; Quenya Valarauko) were Maiar (“Ainur of lesser degree than the Valar”). Other Maiar were Gandalf, Sauron, Melian. Gothmog and “Durin’s Bane” are the only two named.
Balrogs would be under the Maiar category, but most have no recorded name. I suppose the one from the trilogy could have been listed as "Durin's Bane."
The Balrogs were Maiar, a category that includes the wizards (Gandalf, Saruman, etc.) and Sauron. The Balrog Gothmog is there, but not the one that appears in the Fellowship of the Ring, possibly because it isn't given a name.
"JavaScript: The Definitive Guide" does go deeper, with thorough examples in all the topics mentioned in the index. It also provides examples of static types using Flow instead of TypeScript.
> In general, if a statement begins with (, [, /, +, or -, there is a chance that it could be interpreted as a continuation of the statement before, if semicolon isn`t provided.
While /, +, and - are rare in the beginning of the statement, ( and [ aren't.
That list is missing ` from ES2015+ template literals.
I enjoy teaching this to junior developers as the "winky frown rule" because that is a silly name that sticks in your memory and does help you remember it. Lines that start with an emoticon frown must wink: