TypeScript是 JavaScript 的超集,主要提供可选的静态类型、类和接口。一大好处是使 IDE("GUI/编辑器") 能够提供更丰富的环境,以便在您输入代码时发现常见错误。
为什么非学TypeScript不可?
随着Vue3.0和React的升级,element-plus和ant design的升级,都默认使用了ts的写法,ts也成为趋势,或许现在手上不写ts项目,但一定要能看的懂。
TypeScript和JavaScript的关系?
JavaScript 是由ECMA国际组织TC39开发的一种编程语言,该委员会是由许多不同的利益相关者组成的一群人。TC39 是一个ECMA国际组织:一个内部标准组织。JavaScript 由许多不同的供应商(例如 Google、Microsoft、Oracle 等)提供了许多不同的实现。JavaScript 的目标是成为网络的通用语言。(经常用的ES2015、ES2016、ES2017等就是他们制定的标准)
TypeScript 是 JavaScript 语言的超集,它有一个开源编译器,主要由一个供应商开发:微软。TypeScript 的目标是通过类型系统帮助及早发现错误并提高 JavaScript 开发效率。
可选的静态类型和类型推断
JavaScript 是动态类型的。这意味着 JavaScript 不知道变量是什么类型,直到它在运行时实际实例化。这也意味着可能为时已晚。TypeScript 为 JavaScript 添加了类型支持,并在编译为 JavaScript 期间捕获类型错误。
严格的空检查
TypeScript里,JS中的基本数据类型undefined和null两者各自有自己的类型分别叫做undefined和null。
默认情况下null和undefined是所有类型的子类型。 就是说你可以把null和undefined赋值给number类型的变量。
可以设置:
{
"compilerOptions": {
"strictNullChecks": true
// ...
}
}
严格的空检查依然可以设置空:
let userName: string | null;
let userId: number | undefined;
type User = {
name: string ;
age?:number
};
开源、活跃、基于类的面向对象的编程
TypeScript 是开源的(Apache 2 许可)并由 Microsoft 提供支持。C# 的首席架构师Anders Hejlsberg是该项目的带头人。这是一个非常活跃的项目;在过去的几年里,TypeScript 团队已经发布了很多新功能,并且仍然计划推出很多很棒的功能 。
因为是C#的首席架构师带头的,所以语言风格更接近C#,Java等面向对象的编程,对于使用其他语言的人来说ts比js更复合他们的阅读习惯,更易懂。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)