关于TypeScript的学习笔记1

TypeScript

let age:number=18

:number是类型注解,只能赋值对应类型,其他都会报错

数组类型

object(数组、对象、函数等对象)

[] / Array<元素类型> 都可以创建数组

let numbers:number[]=[1,3,5]
let strings:Array<string>=['a','b','c']

联合类型

let arr:(number|string)[]=[1,'a','b','c',2,3,4,5]

(元素类型|元素类型)[]

类型别名

简化类型使用

type first=(number|string)[]
let a:first=[1,'f',3,5,1,3,0]
let b:first=[1,'h',3,4,9,4,0]

先用type+对新类型的命名=对象类型

可以对任意类型指定别名

对象类型

let person:{name:string,age:number,say_hi:void,greet(name:string):void}={
  name:'Mr.Liu',
  age:18,
  say_hi(){}
}

{}描述对象结构 属性名:类型 方法名():返回值类型

方法有参数需在方法名后的小括号指定参数类型(如:greet(name:string):void)

一行代码中指定对象有多个属性类型时用;或,或换行分割

let person:{name:string,age:number,say_hi:()=>void,greet(name:string):void}={
  name:'Mr.Liu',
  age:18,
  say_hi(){}
}

方法的类型也可以使用箭头函数的形式(如:{say_hi:()=>void})

可选属性

在属性名称后面加?

method?:string

函数类型

void类型

如果函数没有返回值,函数返回值的类型为void

可选参数

在可传可不传的参数后面加?(必选参数后面不加?)

可选参数只能出现在参数列表的最后,可选参数后面不能再出现必选参数

function myslice(start:number,end?:number):void{
  console.log('起始索引:',start,'结束索引:',end);
}
myslice()
myslice(1)

原始类型

let 变量名:对象类型=变量

number

string

boolean

null(对空对象的引用)

undefined

symbol

接口 interface

声明接口后可以直接使用接口名称作为变量的类型

interface IP{
  name:string
  age:number
  height:number
}

let person:IP={
  name:'Jack',
  age:20,
  height:180
}

元组

确切知道包含多少个元素以及特定索引对应的类型

let position:[number,number]=[3,2]

只能两个元素

let position:[number,number,string]=[3,2,'hello']

三个元素且一一对应

类型推论

类型查询 typeof

可以获取前面已有变量值的类型简化类型书写(只能查询变量或属性的类型)

let haha={x:1,y:2}
function formatpoint(point:typeof haha){}
formatpoint({x:4,y:5})

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值