typescript 入门教程一

从今天开始,持续更新typescript入门教程系列....

目前ts愈来愈火,主流的前端框架,比如angular,vue 3均是采用ts来编写,全部不少公司的项目都是用ts来写的,全部是时候认真学习ts
ts来源于微软公司,越是大的公司,越是大的项目,越是推荐使用ts来编码,ts是js的超集,在js上面增长一些内容,相对于js,ts具备如下的优势:前端

  • 支持面向对象方法,以前js实现面向对象是经过prototype,function实现的,有点繁琐。ts提供了Class,Interface
  • 类型检查。ts可以在编译的阶段就能够发现错误,减小bug率。在实际开发中,须要将ts编译成js,并且目前浏览器支持的是es5版本
  • 自带文档特性。经过类型注解,很容易知道某一个参数或者变量是什么类型
  • IDE或者是编辑工具支持良好(自动完成提示)

总的来讲ts=js+type+(一些其余特性:枚举,接口等)
使用ts以前,首先须要安装node,安装好node以后会自带npm,npm是node包管理工具,其能够下载一些社区经常使用的包,咱们经过npm来安装ts编译工具typescript , npm install typescript -g
编写一个ts文件:index.ts,经过下面命令行工做tsc index,.ts,就能够将index.ts编译成index.js,最后在浏览器中运行(ts是无法在浏览器中运行的,必须进行编译)vue

var a:number
a=10
console.log(a)

上面就是定义了a的变量类型是number类型,若是这时候传string类型赋值给a,编译器就会保存
数据类型主要有:node

  • number,string,boolean,Array

示例,定义数组有两种方法:typescript

let myArr1:string[]=["st1","st2"]
let myArr2:Array<string>=["st1","st2"]

也能够给函数参数添加类型限制,这时若是传入的参数个数和类型和定义的形参不匹配,编译时候就会报错:npm

const add=(a:number,b:number)=>{
    return a+b
}
console.log(add(2,4))

也能够为函数返回值添加类型数组

const add=(a:number,b:number):number=>{
    return a+b
}

也能够给函数加上默认的参数,若是函数的返回值是空,能够设置返回值类型是void浏览器

const add=(a:number=8,b:number=10):void=>{
    console.log(a+b)
}

也能够设置可选参数,以下:这时候b能够传能够不传前端框架

const add=(a:number=8,b?:number):void=>{ 
    console.log(a+b)
}

若是须要将一个变量设置为任何类型。可使用any,可是尽可能少用any框架

let a:any;
a=10;
a="str"
a=[1,2,3]

若是须要设置一个变量为两种或者更多类型,可使用联合类型的方式,|函数

let a:number | string

不少语言具备面向对象的属性,包括ts,面向对象三大属性:封装,继承,多态了,能够将现实生活中的一切内容当作类或者对象一个Class,经过new()获得一个对象,一个对象有属性和方法(方法就是对属性进行操做)

class Person{
    // 构造方法
    constructor(fn:string,ln:string){
        this.firstName=fn
        this.lastName=ln
    }
    firstName:string;
    lastName:string;
 }

经过extends关键字,可让一个类继承已有类的属性和方法:

class Person{
    firstName:string
    lastName:string
 }
 class Programmer extends Person{
 }
 let p=new Programmer()
 p.firstName='jack'
 p.lastName='chen'
 console.log(p)

子类若是调用某个方法,若是在子类中已有该方法,则直接调用该方法,若是没有,则去调用父类的方法,若是强制调用父类的方法,能够把this换成super
类成员的可见性主要有public,private,protected
public:在类中和类的外面均是能够调用,默认就是public
private:只能在类中调用,子类和类外面是不能调用的,若是要调用私有的属性或者方法,能够经过公有的方法来访问,对外暴露公有的方法,子类也是能够继承父类的私有的方法和属性,可是必须经过父类暴露的公有方法进行访问
protected:只能在类中或者是子类中调用 ,即便子类和父类生成的对象也是不能访问 总的来讲权限范围:public>protected>private 未完待续。。。

相关文章
相关标签/搜索