ECMAScript Specification: meaning of question mark

2019-07-11 10:53发布

问题:

I have see many occurrence of Let value be ?, Return ? sth in the specification.example

Anyone know what is the meaning of the ?.

回答1:

From Algorithm Conventions,

Abstract operations referenced using the functional application style and the method application style that are prefixed by ? indicate that ReturnIfAbrupt should be applied to the resulting Completion Record.

For example, ? operationName() is equivalent to ReturnIfAbrupt(operationName()).

Similarly, ? someValue.operationName() is equivalent to ReturnIfAbrupt(someValue.operationName()).