当前位置: 首页 > Web前端 > vue.js

TypeScript有什么好的

时间:2023-03-31 19:50:37 vue.js

TypeScript的主要特性超集:TypeScript是JavaScript的超集。类型系统:顾名思义,TypeScript将类型机制包装在JavaScript之上,将其变成一种静态类型语言。编辑器功能:增强编辑器和IDE功能,包括代码补全、界面提示、跳转到定义、重构等。错误提示:大部分错误可以在编译阶段发现,帮助调试程序。JavaScript的特性JavaScript是一种轻量级的解释型脚本语言。JavaScript是一种弱类型、动态类型的语言,允许隐式转换,只有在运行时才能确定变量的类型。Superset意味着你不是在“使用TypeScript而不是JavaScript开发”。开发语言的本质是JavaScript,但TypeScript在JavaScript的基础上扩展了新的特性。JavaScript应该有,TypeScript有。为什么TypeScript的静态类型可以增强代码的可读性和可维护性TypeScript通过类型注解提供编译时静态类型检查。编程语言可以简单地看成是对一系列变量的处理。变量是建立在一定维度的类型系统之上的,正如客观世界中的万物也是由各种类型组成的一样。首先是基本类型,代表度量的数值类型,标识的字符串类型,逻辑的布尔类型,集合的对象(包括数组),存在的‘空’。然后就是各种自定义类型,某些生活用品,某些职业,也就是面向对象编程中的对象、类、接口等概念。这也符合人们对事物的普遍认知。从一个类型就可以大致知道它是什么,如何得到,能做什么,减少查阅、理解、验证的过程。最好的情况下,不需要转移焦点...最厉害的地方不是基本类型的注解,而是自定义类型(接口或类)的提示,内置对象(HTMLElement,Event),ETC。)。以confirmAddFruits组件中的方法和fruit.service服务层的函数为例。1、它是什么以参数fruit为例:去JavaScript中的fruits.service.js看看,是http请求传递给后端的参数,是一个对象。请参阅接口文档。TypeScript是Fruit类型的对象。操作编辑器可以直接显示水果包含id、name、isFresh属性,以及每个属性的类型。2、获取方式:以组件成员变量fruits为例:javascript去data看初始值为null(因为某些需要,初始值不能为[]),最多应该是一个array从名字上看,但是这个array是怎么组成的,你要回忆或者检查model层和view层的设计。TypeScript操作编辑器可以直接显示fruits的类型为Fruit[],是一个Fruit类型的单项数组,所以合并操作数组。3、this.fruitService.addFruit是做什么的,是调用服务层的方法,返回什么?JavaScript查看接口文档TypeScript返回Observable,订阅它,得到的数据是Fruit类型的:一个水果。//confirmAddFruits.jsexportdefault{data(){return{fruits:null,isShowModal:false;}}confirmAddFruit(fruit){this.fruitService.addFruit(fruit).then(fruit=>{this.fruits=\[fruit,...this.fruits\];this.isShowModal=false;});}}//confirmAddFruit.tsinterfaceFruit{id:number;名称:字符串;isFresh:boolean}exportclassFruitsComponent{fruits:Fruit\[\]=\[\];isShowModal=false;confirmAddFruit(fruit:Fruit):void{this.fruitService.addFruit(fruitasFruit).subscribe((fruit:Fruit)=>{this.fruits=\[fruit,...this.fruits\];this.isShowModal=假;});}}//fruits.service.jsfunctionaddFruit(fruit){//...}//fruits.service.tsfunctionaddFruit(fruit:Fruit):Observable{//...}可读性和可维护性JavaScript可以做到依赖编码标准、命名、注解(尤其是类型注解)。熟悉编写自己的代码和维护其他人的代码。编辑器的搜索、替换、重构等功能,代码提示和补全。(搜索替换容易出错)自动测试,手动测试。运行错误信息。TypeScript能做的函数参数的传递是最容易出错的地方之一。有了类型注解,就可以一目了然地知道需要传递哪些参数,防止遗漏和误删。与基本数据类型相比,引用类型数据更难维护。有了接口定义,就没有混淆了。此外,编译阶段的类型检查和错误提示可以替代单元测试所需的很多工作。增强的编辑器功能TypeScript提供静态代码分析,编译前可以过滤掉大部分错误,而JS做不到。仅举几个错误提示的例子:表单中输入的数字是作为字符串获取的。检查函数参数(尤其是数量)。无论是输入时还是编译时检查。最厉害的不是JS类型的hinting,而是自定义类型(接口或类)的hinting。可以在编辑器中完成特定项目的提示,而无需切换视口。缺点我几乎找不到TS的任何缺点。唯一的是:写类型定义会在一定程度上降低开发效率,但在大型项目中可以妥协,磨刀不误。最后一个彩蛋TypeScript最强大的应用场景:代码分支合并冲突解决、项目重构安全保障。类型系统符合人们对事物的普遍认知,提供了强大的安全机制,智能提示大大提高了代码编写的效率!