TS学习笔记(一)

一、概念

Typescript是添加了类型系统的 JavaScript,适用于任何规模的项目。弱类型静态语言,完全兼容JS

二、类型使用

1.unknown:表示未知类型的变量 

?:表示可选参数或可有属性

any:表示任意类型,any可以给任意类型值赋值,但unknown不行

let a : any
let s :string
let u :unknown
a = 'string'
u = 'sss'
s = u //报错,unknown类型不能赋值

想要类型转换需要使用类型断言

s = u as string 
s = <string>u //类型转换

2.never和void

never:永远不会有值

void:返回空值,可以是undefined或者null

function fn() :never{
    throw new Error('报错了')
}

3.object 对象

在对象属性后面加?表示可有可无的属性

let a : {name:string,age?:number}

添加任意类型的属性

let a :{[propName:string]:any} //中括号内可变属性名,类型string,整个属性类型any,即键值的类型

用来定义函数结构返回值

let a :(a,b)=>number

4.array对象

let a :string[]//字符串数组,值为其他类型报错
let a :Array<number>

5.元组:固定长度的数组

let a : [string,string]

6.enum 枚举

多值选择

enum Gender{
    Male:1,
    Female:0
}
let i  :{name:string ,gender:Gender}
i = {
    name:'张三',
    gender:Gender.Male
}

7.类型别名

type MyType = string
let a : MyType

 

posted @ 2021-04-12 22:30  恣肆zisi  阅读(127)  评论(0)    收藏  举报