ECMAScript中无参数return与return undefined的规范含义问询
关于ECMAScript规范中无参数
Return的含义 嘿,这个问题问得特别戳中读ES规范时的痛点——我当初啃规范的时候也纠结过这个细节!
首先得明确:规范里的**Return是伪代码语句**,和我们日常写JS代码里的return语法是两回事,但它们的行为有明确对应关系:
- 当规范里写
Return undefined时,就是明确指定算法返回undefined值; - 而不带参数的
Return,其实在规范的算法约定里,默认就是返回undefined值,和Return undefined的行为完全等价。
你提到的PutValue章节里的无参数Return就是典型例子:这个步骤只是用来终止当前算法流程,不需要返回任何有意义的自定义值,所以用简洁的Return来代替完整的Return undefined,让伪代码更紧凑易读。
说白了,规范里的无参数Return就是Return undefined的简写形式,只是为了伪代码的简洁性才这么写,本质上没有区别——算法最终都会返回undefined值,和你理解的带参数的Return undefined是同一个意思。
内容的提问来源于stack exchange,提问作者MaximPro
相关产品推荐
相关产品推荐

