TypeScript

  长时间自学可算是入职了,不过公司的技术栈和以前学的区别有点大,React+TS,因此就不得不看看TS的一些东西了node

  用一篇随笔来记录全部本身学习TS的过程typescript

 

学习前准备

安装

  保证有node.js,而后npm install -g typescript,等一下子就行npm

  若是报错并且是权限问题,mac用sudo npm install -g typescript,windows用管理员模式打开cmd安装便可windows

  能够用tsc -v检查typescript的版本号,有的话说明安装成功,或者去你安装node的文件夹里看看node_global\node_modules路径下有没有typescriptbabel

  

 

编译

  ts的本质仍是js,不过两者仍是有区别的,相似于ES6用babel编译成ES5,也能够用ts里自带的tsc把ts编译成js函数

  例如以下的ts代码学习

  

  在该目录下对这个文件用tsc 文件名来编译,会获得该ts文件编译后的一个js文件3d

  

  能够发现let声明变化成了var,而后能够用node 文件名来在node中运行一下这个js(固然也能够运行ts)对象

  

 

基础

类型声明

  js是一个弱类型的语言,也就是说声明一个变量的时候,没必要管其具体的类型,并且也能够随意修改类型,而ts则对这一点作出了修改blog

  ts用变量名:类型的方法声明变量类型,若是不符合则报错

案例

  greeter函数内部person参数类型为string,而传入的user类型为array,编译时报错

  另外IDE里面也会对错误提醒

  

  

  不过即便这样,node.js仍是会成功地把ts编译成js

 

接口

  ts里能够用interface声明一个对象,里面有几个属性,以后若是建立这个接口实例,实例中的属性必须和interface声明的接口彻底一致,不然报错

案例

  这里声明了Person这个接口,包括firstNamelastName两个属性(固然还有属性校验),以后传入的参数user这个对象的属性和接口一致,所以编译不报错

  

  这里编译成功后正常输出

  

  若是编译失败会报错:Property is missing

  

相关文章
相关标签/搜索