カスタムディレクティブ
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';
// ...
}
ネイティブ関数はテールコールされないので、対応する宣言は必要ない。