typescript的基础类型
基础类型
- 布尔值:boolean
- 数字:number
- 字符串:string
- 数组:Array<元素类型>
- 元组(一个已知元素数量和类型的数组): [数据类型,数据类型.....]
const s: [string, string, boolean] = ["a", "b", true];
- 枚举(可以对一组数值赋予友好的名字,方便后面使用)【注:js是没有这种数据类型的】:enum
- 任何类型:any (不会进行类型检验,尽量不使用)
补充:unknown : 比 any 安全, 不能赋值给其他变量,不能调用方法、属性等,使用方式是类型缩小,顶层类型
let a: unknown = 1;
if (typeof a === "number") {
let r = a + 10; // 正确
}
- 没有任何类型:void(和any相反),返回值可以是null 和 undefined
- null:null
- undefined: undefined
- 永不存在的值:never
特点:底层类型,可以赋值给任何类型
使用场景:总是会抛出异常;根本就不会有返回值的函数表达式;箭头函数表达式的返回值类型
- 对象:object
- 类型断言(你比编译器更懂你自己,我的判断更精确~~)
- <数据类型> 或者 as : 都是类型断言的方式。强制转换类型,TypeScript 不会验证类型是否匹配
- satisfies: 不会强制转换类型,会进行类型校验,对象验证
let a:boolean = true;
let b: number = 2353;
let c: string = "weferf";
let d: Array<number> = [b,4657];
//元组
let e: [boolean,number,string] = [a,b,c];
// 枚举
enum Color {Red = "#ff0000", White = "#fff", Black = "#000"};
let f: Color = Color.Red;
let g: Color = Color.White;
let h: any = "wefwef";
let i: void = null;
let j: void = undefined;
let k: null = null;
let m: undefined = undefined;
//never
function error(message: string): never {
throw new Error(message);
}
function fail(): never {
return error("Something failed");
}
declare function create(o: object):void;
//类型断言
let someValue: any = "this is a demo";
//下面两句是等价的
let strLength1: number = (<string>someValue).length;
let strLength2: number = (someValue as string).length;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!