TypeScript快速入门 - 基本数据类型

TypeScript基本数据类型

1、布尔型

关键字:boolean

javascript 复制代码
let b: boolean = false;
console.log(b);
b = true;
console.log(b);

// false
// true

2、数字类型

关键字:number

javascript 复制代码
let num: number = 1;
console.log(num);

// 1

3、字符串类型

关键字:string

javascript 复制代码
let str: string = "str";
console.log(str);
let str1: string = "str1";
console.log(str1);

// str
// str1

4、数组类型

关键字:Array<数字类型> 、数据类型

javascript 复制代码
let arr1: number[] = [1, 2, 3];
let arrStr: string[] = ['a', 'b'];

// 范型表示的数组
let arr2: Array<string> = ['a', 'b'];
console.log(arr1, arrStr, arr2);

// [1, 2, 3] ['a', 'b'] ['a','b']

5、元组类型

关键字:没有关键字,只有定义方式 数据类型, 数据类型 ...数据类型

javascript 复制代码
let tuple: [string, number, boolean] = ['a', 1, false];
console.log(tuple)

// ['a', 1, false]

6、枚举类型

关键字:enum

javascript 复制代码
enum Play {
    UP, DOWN, LEFT, RIGHT
}
enum Play1 {
    UP = 1, DOWN, LEFT, RIGHT
}

console.log(Play.UP, Play.DOWN);
// 0, 1

console.log(Play.UP, Play.DOWN);
// 1, 2

console.log(Play1.UP === 1);
// true

// 可以比较
console.log(Play1.UP === Play1.UP);
// true

// 错误实例
console.log(Play1.UP === Play.UP)
// 报错

7、任意数据类型

关键字:any

javascript 复制代码
let a: any = 1;
console.log(a);
a = 'a';
console.log(a);

// 1
// a

8、空返回类型

关键字:void

javascript 复制代码
function say(): void {
    console.log("我什么也不返回");
}

say();

// 我什么也不返回

9、null 和 undefined 类型

关键字:null 、 undefined

javascript 复制代码
let str: string = null;
console.log(str)

// null

// 不赋值 默认是undefined
let str2: string;
console.log(str2)

// undefined

10、nerver 和 Object

关键字:nerver 、 Object

javascript 复制代码
// 从来不使用的值 never
let a: never;
let b: string = "123";

// 会报错
a = 1;

console.log(b)

// 123

let c: Object = "123";
c = [1, 2, 3];
c = ["1", "2", "3"];
c = 4;
// Object和any类型有很相似的作用,Object是所有类型的父类,可以给他赋任意值
// 但Object类型的变量只是允许你给它赋任意值,但是却不能够在它上面调用任意的方法,即便它真的有这些方法

c.toFixed(); // Error: Property 'toFixed' doesn't exist on type 'Object'.
相关推荐
红红谈说3 分钟前
同一套产品两个技术栈,双版本前端工程差异怎么收敛?
前端·uni-app·vue3·前后端分离·双版本维护·接口约定
不吃鱼的羊7 分钟前
如何建立高自尊
java·服务器·前端
计算机魔术师11 分钟前
编程智能体卡在"需要登录"这步,六种接法代价差得很远
前端
jaysee-sjc35 分钟前
【苍穹外卖】Day10:定时任务与 WebSocket 实时提醒实战
java·开发语言·javascript·数据库·vue.js·websocket·网络协议
计算机魔术师40 分钟前
出题人自己算错了,AI成绩从88%直接跳到98%
前端
Amos_Web1 小时前
Rspack 源码解析(三十一):HotModuleReplacementPlugin 如何用 hash 比对生成增量更新
前端
尤水就下1 小时前
🔥说一说在线文档的 Block 架构是如何实现的
前端·javascript·架构
是江迪呀2 小时前
介绍一个开源项目 —— 烂笔头
前端·后端
恋猫de小郭2 小时前
Flutter 紧急发布 3.47.8 安全升级版本,建议都升级
android·前端·flutter
紧跟先前的步伐2 小时前
Go AI Agent 实战 18|Tool Calling 的基本原理与完整执行流程
前端·数据库·人工智能·ai·golang·1024程序员节