一.TS介绍1.1简介ts是2012年由微软开发,在js的基础上添加了类型支持1.2优劣势优势:任何位置都有代码提示,增加效率;类型系统重构更容易;使用最新的ECMAscript语法劣势:和有些库的结合并不是很完美;学习需要成本需要理解接口、泛型、类型等知识1.3与js区别首先要明确,ts的存在只是为了让编程更便捷,并不是用来取代js的,是因为js是一个弱类型没有接口泛型而已。二.环境安装首先安装ts,直接安装包即可注意是全局安装然后安装完后记得初始化ts初试化完之后有一个ts的配置文件,先修改两个东西rootdir表示我们的输入也就是写的代码所在的位置outdir表示代码会在此文件输出2.1
一.TS介绍1.1简介ts是2012年由微软开发,在js的基础上添加了类型支持1.2优劣势优势:任何位置都有代码提示,增加效率;类型系统重构更容易;使用最新的ECMAscript语法劣势:和有些库的结合并不是很完美;学习需要成本需要理解接口、泛型、类型等知识1.3与js区别首先要明确,ts的存在只是为了让编程更便捷,并不是用来取代js的,是因为js是一个弱类型没有接口泛型而已。二.环境安装首先安装ts,直接安装包即可注意是全局安装然后安装完后记得初始化ts初试化完之后有一个ts的配置文件,先修改两个东西rootdir表示我们的输入也就是写的代码所在的位置outdir表示代码会在此文件输出2.1
因为团队内部开启了一个持续的前端代码质量改进计划,其中一个专项就是TS类型覆盖率,期间用到了type-coverage这个仓库,所以借这篇文章分享一下这个工具,并顺便从源码阅读的角度来分析一下该工具的源码,我自己fork了一个仓库,完成了中文版本的ReadMe文件并对核心代码添加了关键注释,需要的同学可以点击传送门。一、基本介绍type-coverage是一个用于检查typescript代码的类型覆盖率的CLI工具,TS代码的类型覆盖率能够在某种程度上反映代码的质量水平(因为使用TS最主要的一个原因之一就是它所提供的类型安全保证)。type-coverage该工具将检查所有标识符的类型,类型覆
因为团队内部开启了一个持续的前端代码质量改进计划,其中一个专项就是TS类型覆盖率,期间用到了type-coverage这个仓库,所以借这篇文章分享一下这个工具,并顺便从源码阅读的角度来分析一下该工具的源码,我自己fork了一个仓库,完成了中文版本的ReadMe文件并对核心代码添加了关键注释,需要的同学可以点击传送门。一、基本介绍type-coverage是一个用于检查typescript代码的类型覆盖率的CLI工具,TS代码的类型覆盖率能够在某种程度上反映代码的质量水平(因为使用TS最主要的一个原因之一就是它所提供的类型安全保证)。type-coverage该工具将检查所有标识符的类型,类型覆
依赖说明入口文件tsconfig配置webpack配置文件webpack入口文件配置webpack为typescript和less文件配置各自的loaderwebpack的output配置运行webpack进行打包测试验证输出esm模块已经输出了umd格式的js了,为什么还要输出esm模块?----TreeShaking用tsc输出esm和类型声明文件完善package.json文件package.json中添加exports配置声明模块导出路径用api-extractor提取出干净的.d.ts配置使用APIextractor更新package.json用@internal标注只希望在内部使用
依赖说明入口文件tsconfig配置webpack配置文件webpack入口文件配置webpack为typescript和less文件配置各自的loaderwebpack的output配置运行webpack进行打包测试验证输出esm模块已经输出了umd格式的js了,为什么还要输出esm模块?----TreeShaking用tsc输出esm和类型声明文件完善package.json文件package.json中添加exports配置声明模块导出路径用api-extractor提取出干净的.d.ts配置使用APIextractor更新package.json用@internal标注只希望在内部使用
函数函数是JavaScript应用程序的基础,它帮助你实现抽象层,模拟类,信息隐藏和模块。在TypeScript里,虽然已经支持类,命名空间和模块,但函数仍然是主要的定义行为的地方。TypeScript为JavaScript函数添加了额外的功能,让我们可以更容易地使用。 基本示例和JavaScript一样,TypeScript函数可以创建有名字的函数和匿名函数。你可以随意选择适合应用程序的方式,不论是定义一系列API函数还是只使用一次的函数。//命名函数functionadd(x,y){returnx+y}//匿名函数letmyAdd=function(x,y){returnx+y;} 函数类
函数函数是JavaScript应用程序的基础,它帮助你实现抽象层,模拟类,信息隐藏和模块。在TypeScript里,虽然已经支持类,命名空间和模块,但函数仍然是主要的定义行为的地方。TypeScript为JavaScript函数添加了额外的功能,让我们可以更容易地使用。 基本示例和JavaScript一样,TypeScript函数可以创建有名字的函数和匿名函数。你可以随意选择适合应用程序的方式,不论是定义一系列API函数还是只使用一次的函数。//命名函数functionadd(x,y){returnx+y}//匿名函数letmyAdd=function(x,y){returnx+y;} 函数类
泛型指在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定具体类型的一种特性。 引入下面创建一个函数,实现功能:根据指定的数量count和数据value,创建一个包含count个value的数组不用泛型的话,这个函数可能是下面这样:functioncreateArray(value:any,count:number):any[]{constarr:any[]=[]for(letindex=0;index我们创建了一个函数createArray,传入2个参数value和count,返回any类型的数组,然后定义了一个any类型的空数组arr。接下来我们查看结果在编译阶段我们没有
泛型指在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定具体类型的一种特性。 引入下面创建一个函数,实现功能:根据指定的数量count和数据value,创建一个包含count个value的数组不用泛型的话,这个函数可能是下面这样:functioncreateArray(value:any,count:number):any[]{constarr:any[]=[]for(letindex=0;index我们创建了一个函数createArray,传入2个参数value和count,返回any类型的数组,然后定义了一个any类型的空数组arr。接下来我们查看结果在编译阶段我们没有