javascript技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript技巧 > js文件和ts文件最大区别

js文件和ts文件的最大区别举例详解

作者:清风细雨_林木木

这篇文章主要介绍了js文件和ts文件最大区别的相关资料,JavaScript和TypeScript的主要区别在于类型系统、编译过程、语言特性和开发体验,TypeScript通过静态类型系统、类型推断和类型注解提供了更强的类型安全和开发体验,需要的朋友可以参考下

JavaScript(JS)和 TypeScript(TS)有一些核心的区别。主要体现在 类型系统编译过程语言特性开发体验 等方面。

1.类型系统

JavaScript (JS)

TypeScript (TS)

超集(Superset)是一个术语,通常用于描述一种语言或概念,它包含了另一个语言或概念的所有功能和结构并且在其基础上进行了扩展或添加了新的特性

let x: number = 5;  // x 被定义为数字类型
x = "hello";         // 错误:不能将字符串赋值给数字类型的变量

通过静态类型,TS 提供了 类型推断(Type Inference)和 类型注解(Type Annotation),帮助在开发过程中捕捉类型错误。

2.编译过程

JavaScript (JS)

TypeScript (TS)

3.类型推断和类型注解

JavaScript (JS)

TypeScript (TS)

4.面向对象支持

JavaScript (JS)

TypeScript (TS)

抽象类:不能实例化的类,提供了一种模板,供子类继承并实现抽象方法。

5.类型安全和类型检查

JavaScript (JS)

TypeScript (TS)

: number(返回类型):
这个 : number 放在函数签名的结尾,表示 add 函数的 返回值 的类型是 number。
在这个函数中,a + b 会返回一个数字,因此返回值的类型是 number。
如果你尝试返回一个非数字类型的值,TypeScript 会报错

6.兼容性

JavaScript (JS)

TypeScript (TS)

超集(Superset)描述一种语言或概念,它包含了另一个语言或概念的所有功能和结构并在其基础上进行了扩展或添加了新的特性

7.开发体验

JavaScript (JS)

TypeScript (TS)

导航支持(Navigation Support)通常是指在开发过程中,尤其是在 集成开发环境(IDE) 或 代码编辑器 中,提供帮助开发者1.快速定位2.浏览3.跳转到代码的不同部分

8.社区支持和流行程度

JavaScript (JS)

TypeScript (TS)

比较对比

特性JavaScript (JS)TypeScript (TS)
类型系统动态类型静态类型(支持类型注解和类型推断)
编译过程直接在浏览器或 Node.js 环境运行需要编译为 JavaScript
类型检查没有内建的类型检查提供编译时类型检查,捕获错误
面向对象支持基于原型链(ES6 引入类语法)完全支持面向对象编程,扩展了类、接口、访问控制等功能
开发体验灵活但容易出错更强的编辑器支持和类型检查,减少运行时错误
兼容性所有浏览器和 Node.js 都支持直接执行 JS需要编译为 JS,兼容现有的 JS 代码
流行程度作为 Web 标准,具有广泛的支持逐渐流行,尤其适用于大型项目和开发团队

TS中访问控制主要通过:

1.访问修饰符(Access Modifiers)控制
例如:TypeScript 支持三种主要的访问修饰符:
public:默认修饰符,表示属性或方法可以被类的任何地方访问,包括类外部。
private:表示属性或方法只能在类的内部访问,外部无法访问。
protected:表示属性或方法可以在类内部访问,同时也可以在继承该类的子类中访问,但不能在类外部访问。

2.接口(Interface)
TypeScript 的 接口(Interface) 允许你定义类的结构和成员类型,但它本身并没有提供直接的访问控制功能。你可以通过接口来定义对象的结构,并结合访问修饰符来实现控制。

3.枚举(Enum)
TypeScript 中的 枚举(Enum) 可以用来定义一些固定的常量值,例如角色类型、用户权限等。在访问控制的实现中,枚举类型通常用于限定角色或权限的范围。

4.类型保护和条件访问控制
TypeScript 提供了 类型保护(Type Guards) 的功能,通过类型检查来执行条件访问控制。

总结

TypeScript 提供了更强的类型安全工具支持和更好的开发体验尤其适用于大型项目

JavaScript 则更轻量、灵活,适合快速开发和小型项目。

到此这篇关于js文件和ts文件的最大区别的文章就介绍到这了,更多相关js文件和ts文件最大区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文