【发布时间】:2019-07-02 21:30:55
【问题描述】:
我正在看一个关于 TS 的教程。演讲者说我对以下几点有疑问:
1) 提到使用 TS 现在可以使用Class Based Objects,难道 JS 中的类不总是可用的吗?除了不用在 TS 中处理原型,还有什么区别?
2) 使用tsc <filename>,将TS文件转换成对应的JS文件,我是不是每个TS文件都需要这样做?或者这只是告诉我转换后会发生什么?
【问题讨论】:
-
1) 不,类不是 JavaScript 的一部分,而且从来都不是。不同之处在于,拥有
class外观使其他程序员更容易通过抽象出他们不关心的细节来使用原型继承。 2) 任何 JavaScript 运行时引擎都不理解 TS。所以是的,TS 必须转译成 JavaScript 才能工作。 -
@RandyCasburn 所以我能够用构造函数定义
class Car { }不算作 JS 中的一个类? -
不!所做的只是告诉 JavaScript 将那段代码重写为具有分配原型的普通构造函数。如果您在“class”中使用
extends关键字,它将创建一个原型链,其中包含基“class”的定义。有意义吗? -
嗯我猜是这样,所以在TS或JS中定义一个类看起来是一样的,只是在TS中,它实际上是它的一部分,而在JS中它不是?
-
而对于 2) 我是否必须手动将每个 ts 文件
tsc filename到 js 才能启动所有内容?
标签: javascript typescript static-typing