ECMAScript multiple Prologue Directives

前端 未结 2 645
长情又很酷
长情又很酷 2021-01-14 13:34

Certain ECMAScript environments permit switiching into a special mode by means of a Directive Prologue. ECMAScript 5 has \"use strict\" and others such as asm have their own

相关标签:
2条回答
  • 2021-01-14 14:09

    Since no one answered it, but I found the answer and it was confirmed in a comment I'm answering my own to close it.

    Yes, to use multiple directives in a prologue list them one after the other like so:

    function(){
      "use foo";
      "use bar";
    }
    

    or

    function(){
      "use foo"; "use bar";
    }
    
    0 讨论(0)
  • 2021-01-14 14:13

    What is the correct way to construct a Directive Prologue with multiple Directives?

    As the spec you linked says,

    a Directive Prologue is the longest sequence of ExpressionStatement productions occurring [at the begin of a script or function] and where each [of them] consists entirely of a StringLiteral.

    So you can just string them together, every of these string-literal-statements is a Directive; and can have an implementation-specific meaning (only the Use-Strict-Directive is specified). Your hunch is correct, this should work:

    "use bar"
    "use strict"; 'use x';
    'use foo';
    
    0 讨论(0)
提交回复
热议问题