【发布时间】:2017-06-09 02:00:01
【问题描述】:
即使通用目标是 ES6,是否可以在最新的 TypeScript 中将特定的类方法制作为原型?
作为一个附带问题 - 让特定类只生成原型。
TypeScript 类示例:
class Test {
constructor() {
}
methodName() {
}
}
对于作为通用目标的 ES6,它生成相同的 JavaScript 代码,而我希望它是:
class Test {
constructor() {
}
}
Test.prototype.methodName = function () {
}
即尽管使用 ES6 作为通用目标,但对于特定方法或类中的所有方法,我都想获取原型。
询问的主要原因如下。我有一个需要创建大量此类实例的模块,在阅读了这里的许多帖子后,似乎一致认为原型在这种情况下会表现得更好:
- Javascript prototype operator performance
- Defining methods via prototype vs using this in the constructor
附:我最感兴趣的是服务器端的东西,即 Node.js 4-8。
【问题讨论】:
-
这个要求背后的故事是什么? PS:ES2015 类方法可通过
prototype获得。 -
我不明白这个问题。你能提供一些样品吗?
-
“原型在这种情况下会表现得更好”——这没有任何意义:类是使用原型实现的。
-
@zerkms 原型方法与类方法。什么对你没有意义?
-
那些链接什么都不是,与此无关。使用 ES6 类将生成适当的原型方法。您所指的链接是在构造函数中创建函数,而不是将它们放在原型中。当然 那些 相比之下性能会很差,每次创建新实例时都会创建这些函数。
标签: typescript