typescript 基础随笔1----基础类型

TypeScript是JavaScript的一个超集

TypeScript最重要的一个特点就是可以定义静态类型,JavaScript是一个弱类型的语言,通过TypeScript的定义静态类型,可以将变量强类型化

在TypeScript静态类型分为两种,一种是基础静态类型,一种是对象类型


1.基础静态类型

  number,string,arrayenumany,boolean

类型 描述
boolean 只有两个值 true和false
number 所有浮点数都是number                                  
string 表示文本  
array

表示数组,声明方式有两种

1. var list :number[] = [1,2,3];

2. var list :Array<number> = [1,2,3];

enum

enum为了给一个数自己和更友好的命名。

enum类型中的成员默认从0开始,也可以手动设置成员中的值来更改这种默认行为

enum Color {Red,Green,Blue};

var c:Color = Color.Green;

any

any 表示任意JavaScript的值

var notSure :any = 4;

notSure = 'maybe a string instead';

notSure = true;//合法行为定义为一个布尔类型

也可以定义一个混合类型的数组

var list:any[] = [1,'free',true];

list[1] = 100;

void

在某种程度上any的对立面是void,即所有类型都不存在的时候,你会在一个函数没有返回值时看到void

function sayHello ():void{
    console.log('hello')
}

 在JavaScript中原始类型包括undefined和null,默认情况下null和undefined是所有类型的子类型,也就是可以赋值给其他类型

let u: undefined = undefined;
let n: null = null;

代码实例如下:

let num:number;
num=undefined;
num=null;

 

 但是不能够赋值给never类型。

2.对象类型

对象类型的集中形式:

2.1对象类型

const person:{
    name:string,
    age:number
}

2.2数组类型

const girls : String [] = ['小红','小英','小兰']

多重类型的数组,比如有数字,又有字符串时

const arr: ( number| string )[] = [1,'string',2]

数组中的对象类型的定义

const girls:{
    name:string,
    age:number
}[]  = [
    {
        name:'小红',
        age:18
    },
    {
        name:'小兰',
        age:19
    }
]

typescript 提供了一种类型别名简化这种写法

type girl = {name:string,age:number}
const girls:girl[]  = [
    {
        name:'小红',
        age:18
    },
    {
        name:'小兰',
        age:19
    }
]

或者用class来代替

class girl{name:string,age:number}
const girls2:girl[]  = [
    {
        name:'小红',
        age:18
    },
    {
        name:'小兰',
        age:19
    }
]

 

2.3类类型

class Person{}
const hong: Person = new Person()

2.4函数类型,

const hong: ()=> string =()=>{return '小红'}

 

posted on 2020-09-11 15:09  尔然夏  阅读(185)  评论(0)    收藏  举报

导航