javascript - Javascript中的原语(例如3)是技术上考虑的表达式吗?
问题描述
例如,在 Javascript 中,我知道1 + 2
是一个表达式……一个返回的表达式3
。由于表达式基本上意味着返回值并3
返回值的事物3
,因此它本身似乎3
也是一个表达式。
但是,我从未见过任何简单的原始值表达式示例,所以我很好奇:在技术上3
是否'foo'
被认为是表达式?
解决方案
根据Antlr ECMAScript 语法,anexpressionStatement
由 组成expressionSequence
,由 组成singleExpression
,可以是 a literal
。以下是相关部分:
expressionStatement
: expressionSequence
;
expressionSequence
: singleExpression ( ',' singleExpression )*
;
singleExpression
: Function Identifier? '(' formalParameterList? ')' '{' functionBody '}' # FunctionExpression
... # Cut for brevity
| literal # LiteralExpression
| arrayLiteral # ArrayLiteralExpression
| objectLiteral # ObjectLiteralExpression
| '(' expressionSequence ')' # ParenthesizedExpression
;
literal
: ( NullLiteral
| BooleanLiteral
| StringLiteral
| RegularExpressionLiteral
)
| numericLiteral
;
但是,我从未见过任何简单的原始值表达式示例
这取决于您认为表达式是什么。
推荐阅读
- typescript - 排除定义冲突打字稿
- c - 如何阻止 getchar() 接收额外的 ENTER?
- java - 将所有 TINYINT 字段转换为 jooq 中的 INTEGER
- listview - Flutter:基于网络图像尺寸的不同 ListView ItemBuilder 布局
- javascript - Azure nodejs 应用程序未启动,启动命令无效
- python - BeautifulSoup 为标签返回过多的内容
- sql - 为什么日期在 SSRS 报告过滤器中消失?
- selenium - xpath/selenium - 链接包含和定位函数
- php - PHP array_sum - 为什么 array_sum 不适用于以下脚本?
- javascript - JavaScript:考虑字母顺序的搜索栏