ts和js的区别

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

今天来简单说一下js和ts的区别。

首先它们都是脚本语言。JavaScript 是轻量级的解释性脚本语言可嵌入到 HTML 页面中在浏览器端执行。而TypeScript 是JavaScript 的超集ts是微软开发的开源编程语言即包含JavaScript 的所有元素能运行JavaScript 的代码并扩展了JavaScript 的语法。ts包含了js的库和函数ts上可以写任何的js调用任何的js库可以在ts中使用原生js语法。相比于JavaScript 它还增加了静态类型、类、模块、接口和类型注解方面的功能更易于大项目的开发。

区别

1、TypeScript 引入了 JavaScript 中没有的“类”概念

2、TypeScript 中引入了模块的概念可以把声明、数据、函数和类封装在模块中。

3、js没有重载概念ts有可以重载

4、ts增加了接口interface、泛型、类、类的多态、继承等

5、ts对比js基础类型上增加了 void/never/any/元组/枚举/以及一些高级类型

js有的类型boolean类型、number类型、string类型、array类型、undefined、null

ts新增的类型tuple类型元组类型、enum类型枚举类型、any类型任意类型

void类型没有任何类型表示定义方法没有返回值
never类型是其他类型包括null和undefined的子类型代表从不会出现的值这意味着声明never变量只能被never类型所赋值

js变量是没有类型的即age=18age可以是任何类型的可以继续给age赋值为age=”aaa”
Ts有明确的类型(即变量名:number(数值类型))  eglet age: number = 18

  • ts需要静态编译它提供了强类型与更多面向对象的内容。
  • ts最终仍要编译为弱类型基于对象的原生的js再运行。故ts相较java/C#这样天生面向对象语言是有区别和局限的
  • ts是由微软牵头主导的其语法风格与概念主要来自C#理解起来学过java的更容易理解c#我没学过

ts优势

1、类型化思维方式使开发更严谨能帮助开发人员检测出错误并修改提前发现错误减少改Bug时间

2、类型系统提高了代码可读性便于开发人员做注释维护和重构代码更加容易

3、补充了接口、枚举等开发大型应用时JS缺失的功能

【JS的类型系统存在"先天缺陷"绝大部分错误都是类型错误(Uncaught TypeError)】

4、TypeScript工具使重构更变的容易、快捷。

5、类型安全功能能在编码期间检测错误这为开发人员创建了一个更高效的编码和调试过程。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6