Actionscript 3 为什么';t ActionScript拥有;仿制药;?

Actionscript 3 为什么';t ActionScript拥有;仿制药;?,actionscript-3,Actionscript 3,有人能告诉我为什么ActionScript3,一种静态类型的语言,没有泛型吗?工作太多了吗?历史事件?有没有什么方法可以“伪造”我还没捡到的东西 编辑:非常感谢你的回答!Vector类基本上就是我要找的,其他信息也很有用。让我们先在actionscript中找到合适的容器和算法,然后再考虑泛型 顺便说一句,as3与javascript差别不大,所以你的问题也适用于JS。我相信这是一个历史性的问题。基于(JavaScript也基于ECMAScript)。ECMAScript是一种动态类型化语言,这

有人能告诉我为什么ActionScript3,一种静态类型的语言,没有泛型吗?工作太多了吗?历史事件?有没有什么方法可以“伪造”我还没捡到的东西


编辑:非常感谢你的回答!
Vector
类基本上就是我要找的,其他信息也很有用。

让我们先在actionscript中找到合适的容器和算法,然后再考虑泛型


顺便说一句,as3与javascript差别不大,所以你的问题也适用于JS。

我相信这是一个历史性的问题。基于(JavaScript也基于ECMAScript)。ECMAScript是一种动态类型化语言,这意味着变量没有声明其类型。泛型在静态类型语言中更有用,其中变量的类型是预先声明的。在静态类型语言中,如果没有泛型,您将一直无法从根对象(例如,Java中的对象)强制转换。这在ECMAScript中不是问题,因为您可以将任何需要的内容放入任何数据结构中

那么为什么ActionScript在向ECMAScript添加静态类型时没有添加泛型呢?我不能肯定这一点,但我认为你的问题的前提有点偏离——有一些通用的容器,比如。我可能认为他们会保留ECMAScript(对象和数组)的动态类型容器以实现向后兼容性,但他们已经打破了AS2和AS3之间的兼容性,所以我不确定。

参数类型(ECMAScript中通常使用“泛型”一词,而不是Java中使用的参数化类型和运行时多态性的组合)是ES4的一部分,但ES4已断开,并且大部分类型系统都是为ES提出的(包括ActionScript中实现的部分)不会进入下一个版本。我不能说Adobe是否愿意自己这样做。

新版本是Actionscript 3在为Flash Player 10编译时现在支持的一种泛型。它们还不支持您自己的泛型类规范

我认为Adobe最终会实现ES4标准。如果他们有一个竞争对手能够更快地将他们推向正确的方向,那就太好了。当他们迁移到CS4时,我原本希望AS3的更新能带来更多,但我想革命性的Vector类就足够了


看起来他们花了很多时间来增强Flex和AIR的库,所以也许他们以后会继续改进语言支持,但这可能不是一个真正的优先事项。记住,Adobe是为了钱,而不是为了制作尽可能最甜美的语言的感觉好。

mmm不是那么多。如果在没有键入和类的情况下使用符号,ActionScript,非常类似JavaScript…但是当你开始使用C++包、类语法和静态类型时,你使用这两种语言的方式就变得完全不同了。事实上,虽然C++/Obj-C是C的超集,但说它们基本上是同一个东西并不准确……嗯?首先,没有“ES4标准”这样的东西第二,Adobe确实执行了ES4标准草案,他们几乎是唯一一个这样做的人(他们为VM写了一个VM,并把它捐给了Mozilla基金会,在ECMA放弃之前)。-->google dash让他们有点害怕了,他们终于开始讨论如何改进语言功能,这几乎是我们多年来在end-lookup“Actionscript Next”上提出的所有要求。也许值得注意的是,ActionScript NEXT或ActionScript 4项目已被Adobe正式终止。他们公开了规范草案的来源:--基本上这意味着Adobe没有计划投资ActionScript的语言更新。我看到了
Vector
,并对ActionScript具有通用general我不知怎么还不知道的ics。唉。我应该知道的比抱着希望更好。你可以试试Haxe。它有泛型和其他很酷的功能。而且它在盒子里编译到Flash.Haxe.org&try.Haxe.org