基本类型
let s:string = "str"
let n:number = 234.45
let b:boolean = false
let v:void = undefined
// 响应式参数
const dom = ref<HTMLDivElement>();
JavaScript里,每个参数都是可选的,可传可不传。 没传参的时候,它的值就是undefined。 在TypeScript里我们可以在参数名旁使用 ?实现可选参数的功能
function buildName(firstName: string, lastName?: string) {
if (lastName)
return firstName + " " + lastName;
else
return firstName;
}
let result1 = buildName("Bob"); // works correctly now
let result2 = buildName("Bob", "Adams", "Sr."); // error, too many parameters
let result3 = buildName("Bob", "Adams"); // ah, just right
接口
type和interface都可以用来表示接口,写法略有不同
type aa = {
name: string
}
interface bb {
name: string
}
<!--继承可混用-->
type cc = aa & {
age: number
}
type cc = bb & {
age: number
}
interface dd extends aa {
age: number
}
interface dd extends bb {
age: number
}
数组
let arr: Array<number> = [1,2,3]
let arr1: number[] = [1,2,3]
let arr2: Array<Array<number | string>> = [[1,2,3],[3],['0']]
let arr3: number[][] = [[1,2,3],[3]]
类型别名
type s = string
let str: s = "strstr"
泛型
// T替代符号,也可以|增加多种类型,这里表明a b 和返回的数组元素是同一种类型
function add<T>(a: T, b: T): Array<T> {
return [a, b]
}
// 调用泛型方法必须标明类型
add<string>("hellow", "word")
//泛型 类
class sub<T>{
attr: T[] = []
add(a: T): T[] {
return [a]
}
}
//泛型类 调用
let k = new sub<string>()
k.attr = ['1','2']
k.add("6789")