JavaScript will automatically insert semicolons when parsing the code so invalid sequences can be "fixed" to valid syntax. This behavior, called https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#automatic_semicolon_insertion["Automatic semicolon insertion"] or *ASI*, makes semicolons at the end of statements optional and attempts to make JavaScript more approachable and convenient.
However, sometimes, relying on ASI can lead to unexpected results. ASI will only be triggered if a line break separates tokens that would otherwise produce invalid syntax. JavaScript will not insert semicolons if the next token can be parsed as part of a valid structure.
In the case of function call arguments, they are allowed to be on a separate line. But, depending on the developer's intent and, especially when working with https://developer.mozilla.org/en-US/docs/Glossary/IIFE[IIFE] (or any other design pattern using https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Grouping[Grouping operator]), it can lead to errors and most likely _will_ lead to questions for maintainers.
Similarly, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#tagged_templates[tagged templates] allow for advanced forms of string interpolation by evaluating the tag as a function to call, passing the