Ts的数据类型

1.boolean

let flag: boolean = true;

2.number

let a: number = 1;

3.string

let str: string = "这是个字符串";

4.array

let arr1: number[] = [1, 2, 3];
let arr2: Array<number> = [1, 2, 3];

5.元组 [定义数组每一项的类型,一般可以用any替代]

let arr3: [number, string] = [1, "字符"];

6.enum 枚举 当标识符没有定义值的时候,会采用索引值 [如果标识符在中间定义值了,后面递增,前面依然采用索引]

enum Code {
  success = 1,
  fail = -1,
  warning = 0,
}
enum CodeIndex {
  success,
  fail,
  warning,
}
enum CodeIndex2 {
  success,
  fail = 3,
  warning,
}
let e1 = Code.success; // 1
let e2 = Code.warning; // 0
let e3 = CodeIndex.fail; // 1
let e4 = CodeIndex.warning; // 2
let e5 = CodeIndex2.success; // 0
let e6 = CodeIndex2.fail; // 3 这里定义值了,后面的索引依据此值
let e7 = CodeIndex2.warning; // 4

7.any 任意类型 [操作dom的时候就可以使用any]

let an = 1; //如果不写any会根据值进行隐式的类型校对 变成numner
// an="str"; 这里就会报错
let an1: any = 1;
an1 = "str"; // 这样类型混杂使用就不会报错
let dom = document.getElementById("dom"); // 隐式 HTMLElement | null
// dom.style.color="red"; //这里就会报错,认为是Object,没有这个类型
let dom1: any = document.getElementById("dom"); // 这样就没有问题
dom1.style.color = "red";

8.undefined null 是 nerver类型的子集 nerver类型只能赋予nerver类型的数据

let u = undefined; // 这样隐式就是any类型
let u1: undefined = undefined; // 只能赋值 undefined
let u2: undefined;
let u3: null = null; // 只能赋值null
let u4: null;

9.void  表示没有任何类型 一般用于方法没有返回值

function tt(): void {
  console.log(1);
}

10.never类型  表示其他类型 用得不多 nerver类型只能赋予nerver类型的数据

// let nv:never= undefined; 这样就会报错
let nv: never;
nv = (() => {
  throw new Error("nerver尝试");
})(); // 这是个自执行函数,可以理解为其他

11.混合类型 |

let hun: number | string = "1111";
hun = 22;

12. 类型断言

let m: number | string | boolean;
m = "22"; // 赋值之后,通过隐式判断,已经是string了所以直接可以用length属性
let len = m.length;

// 这里面参数不是很明确,用类型进行断言,确定类型,这样就不会报错
function duan(msg: number | string | boolean): void {
  console.log((msg as string).length, "duan"); //这样就不会报错
}
duan(1); // undefined
duan("哈哈"); // 2
duan(true); // undefined

13.字面量联合

let spe: 1 | 2 = 1; // 只能赋值1或者2
let sp2: "1" | 2 = "1"; // 只能赋值"1"或者2

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值