Потому что ненадо использовать питон стайл в жсе.)
А если по делу, то темплейт стринг (
``
) используются не только в виде строк, но и как аргументы функции. Иными словами из-за такое действие преттиера предотвращает вот эту ситуацию:
console.log()
`${123}dsa`
// =
console.log()`${123}dsa`
То есть сначала выполнится функция
console.log
, которая в свою очередь вернёт андефайнд, а далее андефайнд будет использован как функция, что приведёт к:
Uncaught TypeError: console.log() is not a function
Следовательно такая запись:
console.log()
;`${123}dsa`
будет идентична такой:
console.log();
`${123}dsa`;
и никакой ошибки не будет.