TypeScrip的基本类型

  • 类型声明是TS非常重要的一个特点
  • 通过类型声明可以指定TS中变量(参数、形参)的类型
  • 指定类型后,当为变量赋值时,TS编译器会自动检查值是否符合类型声明,符合则赋值,否则报错
  • 简而言之,类型声明给变量设置了类型,使得变量只能存储某种类型的值
    一下就是常用的类型
    在这里插入图片描述
//字面量 进行类型声明
let word: 10;
word = 10
// 可以使用|来进行多个类型声明
let word1: 10 | 'hello';
word1 = 10;

//any表示声明变量是任意类型  声明不指定类型, 默认是任意类型
let any_var: any;
any_var = 20;
any_var = 'hello'
let _var;
_var = 10;
_var = 'hello'
// unknown表示一个未知类型的值
let unknown_var: unknown;
unknown_var = 123;
unknown_var = 'qwer'
let l: string;
unknown_var = 'hello';
// l = _var;//_var是任意类型any的值,可以赋值给其他变量
// l = unknown_var;//unknown_var 是unknown类型值, 不能直接赋值给其他变量 实际上就是一个类型安全的any

// 类型判断
// 1. 变量 as 类型    2.<类型>变量
l = unknown_var as string;
l = <string>unknown_var;

//给函数添加类型
function fn(a: number, b: number):number { //给返回值添加返回类型 :number
  return a + b;
}
let res = fn(123, 123);
console.log(res);
// 设置函数结构的类型声明
let d: (a: number, b: number) => number;
d = function (n1,n2) {
  return n1 + n2;
}


// 对象
// 语法:{属性名:属性值}
let obj: { name: string ,age?:number};//加上问号表示可选 
obj = { name: '1243', age: 12 }

//[propName: string]: any  表示任意类型的属性
let c: { name: string, [propName: string]: any }
c = { name: 'lin', 12: 18 }


// 数组的类型声明
// 1.数组:类型[]      2.数组:Array<类型>
let arr: number[];
arr = [1, 2]
let arr1: Array<string>;
arr1 = ['q', 'w'];

//tuple => 元组 => 固定一个数组的长度
let arr2: [number, string];
arr2 = [1, 'l']

//枚举 enum 
enum Gender {
  'male' = 0,
  'female' = 1,
}
let obj_enum: { name: string, gender: Gender };
obj_enum = {
  name: 'lin',
  gender: Gender.male
};

//& 表示同时
let new_obj: { name: string } & { age: number };
new_obj = { name: 'lin', age: 12 };

// 类的别名
type myType = string|number;
let m: myType;
let n: myType;
let j: myType;
m = 'lin';
n = 12;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值