Javascript 方法装饰器的执行顺序是什么?
考虑以下JavaScript代码:Javascript 方法装饰器的执行顺序是什么?,javascript,typescript,decorator,Javascript,Typescript,Decorator,考虑以下JavaScript代码: class Example { @foo public methodOne() {} @bar public methodTwo() {} } 按什么顺序执行foo和bar?请注意,我对variou JS引擎如何实现它不感兴趣,但根据规范,正确的方法是什么。我需要知道,我是否可以依赖这种行为在JS引擎中保持一致 了解TypeScript装饰程序是否以同样的方式工作也很有趣 foo和bar的执行顺序是什么 按照出现的顺序。
class Example {
@foo
public methodOne() {}
@bar
public methodTwo() {}
}
按什么顺序执行foo
和bar
?请注意,我对variou JS引擎如何实现它不感兴趣,但根据规范,正确的方法是什么。我需要知道,我是否可以依赖这种行为在JS引擎中保持一致
了解TypeScript装饰程序是否以同样的方式工作也很有趣
foo和bar的执行顺序是什么
按照出现的顺序。所以
foo
然后bar
声明方法的顺序应该无关紧要,首先修饰方法的顺序也应该无关紧要。你想做什么,你认为你需要依赖于执行顺序?这是一个路由器(到目前为止还没有编写),你可以用@get(“index.htm”)
来装饰方法,将它们映射到HTTP请求。你的意思是你不会将它们映射到单个文件(显然没有重复的文件),但是,它们的应用顺序是否重要?TBH,我根本不会使用类
,甚至不会使用方法——它们的名称无关紧要。它应该是一个规则函数元组(对象)的列表(数组)。@Bergi我有理由将此注释缩小到包含的范围。我只想说,我对这个问题的答案很感兴趣,即使它的所有应用程序都很愚蠢。那么,是的,类元素是按外观顺序计算的: