typescript
作者:互联网
基础类型
Boolean
number
string
null
undefined
any
void
never
object type
- object{} 对象类型
let obj33:{name:string,age:number}={
name:'11',
age:11
}
*array[] 数组类型
const list: number[] = [12, 23, 34]
//泛型
const listA: Array<number> = [1, 2, 3]
- class 类型
class Person {}
const LinYY: Person = new Person()
- fn() 类型
const getNumber: () => number = () => {
// return 'LinYY' 报错
return 123
}
// 要求返回值是string 字符类型
const getString: () => string = () => {
return 'LinYY'
// return 123
}
interface 自定义类型
//interface
interface Point {
x: number,
y: string
}
const point: Point ={
x:123,
y:'123'
}
type alias 类型别名 不是ts的基本数据类型,常用于提取公共类型
type User = { name: string, age: number }
let male: User = {name: 'LinYY', age: 18}
let famale: User = {name: 'nana', age: 18}
数组和元组
数组的类型注解
- 类型[] Array<类型>
//对象数组
const objarr:{name:string,age:number}[]=[{
name:'123',
age:12
}
- 对于复杂的对象数组,可以采用类型别名type alias
typescript断言
类型断言
- ‘尖括号’语法
let someValue:any = 'this is a string';
let str22:number=(<string>someValue).length;
// as 语法
let str33:number=(someValue as string).length;
非空断言
- 在上下文中当类型检查器无法断定类型时,一个新的后缀表达式操作符!可以用于断言操作对象是非null和非undefined类型。
- 即将x从类型null和undefined中排除
忽略undefined和null类型
function my(mystr: string | undefined | null) {
// const str:string=mystr;
const str2:string=mystr!;
}
调用函数时忽略undefined
type Num=()=>number;
function fn(num:Num|null){
const num1=num();//error
const num2=num!();
}
确定赋值断言
类型守卫
联合类型
- 联合守通常与null和undefined一起用
TS中的this TS是JS的超集 this指向相同
标签:typescript,const,string,number,类型,null,name 来源: https://www.cnblogs.com/Goodnighter/p/16673522.html