关于 TypeScript 的常见问题。Frequently asked questions about TypeScript.
目录 Contents
- TypeScript 是什么?What is TypeScript?
- TypeScript 为何而出现?
- TypeScript 能做什么?What can TypeScript do?
- TypeScript 的优势有哪些?What are the advantages of TypeScript?
- TypeScript 的生态如何?What is the ecology of TypeScript?
- 使用 TypeScript 开发的大型的、成功的项目有哪些?What are the large and successful projects developed by TypeScript?
- 学习、使用 TypeScript 有什么前提要求?What are the prerequisites for learning and using TypeScript?
- 如何正确地、高效地学习 TypeScript?How to learn TypeScript properly and efficiently?
- TypeScript 的开发工具有哪些?What are the TypeScript development tools?
- FAQ 主题 FAQ Topics
- 类型及类型系统 主题 Type and Type System Topics
- 函数 主题 Function Topics
- 类 主题 Class Topics
- 接口 主题 Interface Topics
- 枚举 主题 Enum Topics
- 继承与扩展 主题 Inheritance and Extension Topics
- 泛型 主题 Generic Topics
- 修饰符 主题 Modifier Topics
- 类型保护 主题 Type Guards Topics
- 类型声明 主题 Type Declaration Topics
- 模块化 主题 Module Topics
- 工程化 主题 Project Organization Topics
- 编译选项 主题 Compilation Topics
- 装饰器 主题 Decorator Topics
TypeScript 是由 Microsoft 出品的开源、MIT 授权、用于开发大型 JavaScript 应用程序的新一代编程语言。它是 JavaScript 的一个类型化超集(typed superset),被编译为纯净的 JavaScript,由微软的 C# 之父安德斯 · 海尔斯伯格(Anders Hejlsberg )主导开发并持续迭代发展。
TypeScript 的官方网站是 https://www.typescriptlang.org,开源项目地址是 https://github.com/Microsoft/TypeScript。
TypeScript 中有抽象类,通过关键字 abstract
来声明抽象类。例如:
abstract class Animal {
public abstract shout():void;
}
class Cat extends Animal {
public shout():void {
console.log(`Meow ~ Meow ~~`);
}
}
TypeScript 中支持内部类,通过对静态字段赋值一个类来实现。例如
class Foo {
public foo():void {
const bar = new Foo.Bar();
bar.bar(); // The console outputs the message 'TypeScript is great!'.
}
private static Bar = class Bar {
public bar():void {
console.log(`TypeScript is great!`);
}
};
}