Синтаксис оператора throw
ThrowStatement [Yield, Await] :
throw [нет LineTerminator здесь] Expression [+In, ?Yield, ?Await] ;
14.14.1 Семантика времени выполнения: Оценка
ThrowStatement : throw Expression ;
1. Пусть exprRef будет результатом вычисления выражения Expression. 2. Пусть exprValue будет ? GetValue(exprRef). 3. Вернуть ThrowCompletion(exprValue).
Информационные ссылки
Стандарт ECMAScript — Раздел «14.14 The throw Statement» — https://tc39.es/ecma262/#sec-throw-statement