Skip to content

カスタムディレクティブ

ECMAScript E5/E5.1 では、バージョンまたは実装固有の機能を有効にするために、ディレクティブプロローグを採用しています。標準では "use strict "という1つのディレクティブしか提供しませんが、asm.jsでは "use asm "を使用します。Duktapeのカスタムディレクティブについては、このセクションで説明します。

use duk notail (ユースデューク・ノテイル)

use duk notailディレクティブは、その関数が決してテールコールされてはならないことを示します。テールコールはコールスタックに影響を与えるので、スタックトレースで見ることができ、 (通常は無害です) また、例えば Duktape.act() を使ってコールスタックを検査する関数に影響を与えます。このディレクティブは、コールスタックが既知の形状であることを保証するために、特殊なケースで有用です。例

javascript
function noTailCall() {
    'use duk notail';

    // ...
}

ネイティブ関数はテールコールされないので、対応する宣言は必要ない。