Семантика времени выполнения: оценка
UnaryExpression : typeof UnaryExpression
1. Пусть val будет результатом вычисления UnaryExpression. 2. Если val является ссылочной записью Reference Record, тогда а. Если IsUnresolvableReference(val) является true (истинно), вернуть «undefined». 3. Установите val на ? GetValue(val). 4. Верните строку в соответствии с таблицей 41.
Таблица
| Тип val | Результат |
|---|---|
| Undefined | «undefined» |
| Null | «object» |
| Boolean | «boolean» |
| Number | «number» |
| String | «string» |
| Symbol | «symbol» |
| BigInt | «bigint» |
| Object (не реализует [[Call]]) | «object» |
| Object (реализует [[Call]]) | «function» |
Таблица 41: Результаты оператора typeof
Дополнительную запись, относящуюся к внутреннему слоту [[IsHTMLDDA]], можно найти в B.3.7.3.
Информационные ссылки
Стандарт ECMAScript — Раздел «13.5 Unary Operators» — https://tc39.es/ecma262/#sec-unary-operators
Стандарт ECMAScript — Раздел «13.5.3 The typeof Operator» — https://tc39.es/ecma262/#sec-typeof-operator