ThatManK Mobile Article
基础数据类型-2
- 枚举
export default {};
/*
enum`类型是对JavaScript标准数据类型的一个补充.
像C#等其它语言一样, 使用枚举类型可以为一组数值赋予友好的名字.
*/
// 枚举用于表示固定的几个取值
// 例如: 人的性别只能是男或者女
enum Gender {
Male,
Female,
}
let val: Gender;
val = Gender.Male;
val = Gender.Female;
// val = 0;
// val = 1;
// val = "邱淑贞";
// val = false;
// 注意点: TS中枚举类型的本质就是数值类型, 所以赋值数值不会报错
// val = 100;
// val = 200;
console.log(Gender.Male); // 0
console.log(Gender.Female); // 1
// 注意点: TS中枚举类型的取值, 默认从0开始, 从上向下依次递增
enum Gender2 {
Male = 5,
Female,
}
console.log(Gender2.Male); // 5
console.log(Gender2.Female); // 6
enum Gender3 {
Male,
Female = 10,
}
console.log(Gender3.Male); // 0
console.log(Gender3.Female); // 10
enum Gender4 {
Male = 100,
Female = 1200,
}
console.log(Gender4.Male); // 100
console.log(Gender4.Female); // 1200
- bight 和 symbol
export default {};
// bight类型: 表示非常大的数
// symbol类型: 表示全局唯一引用
// ES2020可用
const Hundred1: bigint = BigInt(100);
const Hundred2: bigint = 100n;
const firstName = Symbol("name");
const secondName = Symbol("name");
// if (firstName === secondName) {
// console.log('ok')
// }
- 变量的声明与解构
export default {};
// 变量声明的方式
// var | let | const
// 数组解构
let goddess = ["邱淑贞", "赵雅芝", "张敏"];
let [first, second, a, b] = goddess;
// console.log(first);
// console.log(second);
// console.log(a);
// console.log(b);
let [third, ...rest] = ["赵今麦", "蒋依依", "欧阳娜娜", "刘浩存"];
console.log(third); // 赵今麦
console.log(rest); // [ '蒋依依', '欧阳娜娜', '刘浩存' ]
console.log(...rest); // 蒋依依 欧阳娜娜 刘浩存
// axios {code: xxx , aaa: 111, bb:xxx, data: xxx,}
let [, fourth, , fiifth] = [1, 2, 3, 4];
console.log(fourth); // 2
console.log(fiifth); // 4
// 对象解构
let beauty = {
uname: "杨超越",
age: 20,
sex: "女",
};
let { uname, sex } = beauty;
console.log(uname);
console.log(sex);
- 类型断言
export default {};
// 类型断言
// 1.<我们想要它成为的类型>变量名
// 2.变量名 as 我们想要它成为的类型
let str =
"世界上最遥远的距离不是生与死, 你是if而我是else, 似乎一直相伴但又永远相离";
// 方式一
// let len = (<string>str).length;
// console.log(len);
// 方式二 as 作为
// let len = (str as string).length;
// console.log(len);
// function TypeAs(x: string | number) {
// console.log(x.length);
// }
// TypeAs("世界上最痴心的等待, 是我当case而你当switch, 或许永远都选不上自己");
function TypeAs(x: string | number) {
// let len = (x as string).length;
let len = (<string>x).length;
console.log(len);
}
TypeAs("世界上最痴心的等待, 是我当case而你当switch, 或许永远都选不上自己");
- 类型别名
export default {};
// 类型别名就是给一个类型起个新名字, 但是它们都代表同一个类型
// 第一种
type beautys = "邱淑贞" | "唐嫣" | "迪丽热巴" | "赵露思";
let one: beautys;
// one = "赵露思";
// one = 100;
// one = true;
// one = "周杰伦--》最伟大的作品";
// 第二种
type myfun = (a: string, b: number) => number;
let func: myfun = (a: string, b: number) => b;
// 第三种
type myGoddess = {
name: string;
age: number;
sex: string;
};
let shuzhen: myGoddess = {
name: "邱淑贞",
age: 18,
sex: "女",
};