Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 方法装饰器的执行顺序是什么?_Javascript_Typescript_Decorator - Fatal编程技术网

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的执行顺序是什么 按照出现的顺序。

考虑以下JavaScript代码:

class Example {

    @foo
    public methodOne() {}

    @bar
    public methodTwo() {}

}
按什么顺序执行
foo
bar
?请注意,我对variou JS引擎如何实现它不感兴趣,但根据规范,正确的方法是什么。我需要知道,我是否可以依赖这种行为在JS引擎中保持一致

了解TypeScript装饰程序是否以同样的方式工作也很有趣

foo和bar的执行顺序是什么


按照出现的顺序。所以
foo
然后
bar

声明方法的顺序应该无关紧要,首先修饰方法的顺序也应该无关紧要。你想做什么,你认为你需要依赖于执行顺序?这是一个路由器(到目前为止还没有编写),你可以用
@get(“index.htm”)
来装饰方法,将它们映射到HTTP请求。你的意思是你不会将它们映射到单个文件(显然没有重复的文件),但是,它们的应用顺序是否重要?TBH,我根本不会使用
,甚至不会使用方法——它们的名称无关紧要。它应该是一个规则函数元组(对象)的列表(数组)。@Bergi我有理由将此注释缩小到包含的范围。我只想说,我对这个问题的答案很感兴趣,即使它的所有应用程序都很愚蠢。那么,是的,类元素是按外观顺序计算的: