2017-11-11 49 views
0

我在搜索ES6中的IsInTailPosition()函数的最终用户文档时没有运气。 language reference解释了算法,但没有提供关于如何使用此功能的叙述。这是一个有趣的功能,因为它涉及到尾部呼叫优化(如果我理解正确的话)。有人可以解释一下如何使用这个功能,理想情况下是一个例子。ES6中IsInTailPosition()的最终用户文档/说明Javascript

+0

你知道[tail call](https://en.wikipedia.org/wiki/Tail_call)是什么吗? – Bergi

+0

@Bergi是的,但随时在您的答案中包含链接。请注意StackOverflow是一个问答,而不是论坛。我的问题是关于具体的功能 - 如果你直接前进并回答,那将是可取的。 –

回答

1

语言参考是一个规范,并不意味着最终用户文档。不需要任何叙述。

IsInTailPosition算法不是一个可用的功能是提供给最终用户,无论如何,它是一个内部方法来确定语法元素是否在尾部位置,并且用于区分一个呼叫表达是否应该得到tail call优化与否。

+0

我知道参考是一个规范,只是提到它表明我的搜索是详尽的。你的回答消除了这个问题,谢谢。这实际上是一个令人遗憾的功能是内部的。我想它可能被用来检测用户功能是否被尾调用,从而允许其工作相应地进行调整。 –

+0

我没有看到你的意思是“*相应地调整工作*”?有资格进行尾部呼叫优化的要点在于,从您呼叫的位置不可观察到。 – Bergi

+0

通过函数的名称,而不知道它只是内部的,它似乎提供了一个用户函数如何被调用的视图。该功能的要点是克服尾部呼叫不能被称为用户功能的事实。如果你所说的是对呼叫的洞察力是不可能的,那么请考虑扩大你的答案,因为这些信息是有价值的。 –