UnaryExpression ES6规范文档的含义是什么?

问题描述 投票:-1回答:1

我很好奇UnaryExpression ES6规范文档的含义。 https://www.ecma-international.org/ecma-262/6.0/#sec-typeof-operator

实际上我很想知道为什么typeof运算符可以接受没有括号的操作数,也可以接受带括号的操作数。 ex)a / typeof(a)的类型

所以我在互联网上搜索并发现ES6规范文档指导我,typeof运算符可以接受UnaryExpression。

UnaryExpression:typeof UnaryExpression

并且还发现了这个SO答案。

https://stackoverflow.com/a/15843896/911528

在这篇文章中,用户Halim Qarroum回答道,

规范中typeof运算符的正确定义是:typeof [(] expression [)]

我不知道UnaryExpression的确切含义。 (我无法找到。是的,定义是存在的,但它们是如此抽象。)

而且我很好奇Halim Qarroum如何通过查看规范文档来推断出这个答案。

[(] expression [)]是否等于UnaryExpression? []是否意味着省略?

javascript typeof
1个回答
1
投票

一元表达式是只有一个标记的表达式。一元运算符(例如typeof++)将操作数作为一元表达式。

包装一元表达式时,括号将被解析器忽略。因此,typeof(i)(i)++分别相当于typeof ii++

是的,在开发人员文档中,方括号表示可选的东西。通常用于可选的函数参数,但在您引用的答案中可以理解。

© www.soinside.com 2019 - 2024. All rights reserved.