ts基本类型

类型声明

  • 指定TS中变量(参数、形参)的类型
  • 当为变量赋值时,TS编译器会自动检查值是否符合类型声明,符合则赋值,否则报错
let 变量 : 类型;
function fn(参数: 类型,参数: 类型): 类型 {
	...
}

let a: number = 10;
a = 20;
a = 'hello'; //报错

function sum(a: number, b: number): number {
    return a + b;
}
sum( 123 , "456")  //“456”报错:类型“string”的参数不能赋给类型“number”的参数。
sum( 123 )  //参数数量不对也会报错

自动类型判断

  • 对变量的声明和赋值是同时进行的,会自动判断变量的类型(即 可省略掉类型声明)

    let c = false;
    

虽然报错,但是依旧会编译为js文件,后续可配置使其不编译

类型

number、string、boolean、字面量、any、unknown、void、never、object、array、tuple、enum

  • 字面量
//字面量,类似于限制为常量
let a : 10;
a = 10;
a = 11;  //报错

//使用|来链接多个类型(联合类型)
let b: 'male' | 'female';
b = 'male' ;
b = 'female';
  • any:任意类型,变量可以任意赋值,相当于对此变量关闭了TS的类型检查(不建议使用)

声明变量时如果不指定类型,则TS解析器会自动判断变量的类型为any(隐式的any),可以赋值给其他变量,即会影响其他变量的变量检查

let e;
e = 12;
let str: string;
str = e;
  • unknown:表示未知类型的值,区别any:不可直接赋值给其他变量(只嚯嚯自己,不影响别人)

进行变量检查:

//1.
let e: unknown;
e = 12;
let s: string;
if(typeof e === "string") {
	s = e;
}
//2.类型断言:告诉解析器变量的实际类型
s = e as string;
s = <string>e;
  • void:表示空,函数没有返回值
function fn(): void {
  	...
}
  • never:表示永远不会返回结果
function fn(): never {
	throw new Error('报错了!')
}
  • object:对象
let b: {name: string,age?: number};//可指定属性的类型,?表示可选属性

当赋值时不确定有多少个属性时:[propName: string]表示任意类型的属性

let c: {name: string, [propName: string]: any};
c = {name: "猪八戒",age: 18, gender: '男'}

使用箭头函数的实行设置函数结构的类型声明:

(形参: 类型,形参: 类型,...)=> 返回值类型
let d: (a: number, b: number)=>number;
d = function (n1: number, n2: number): number {
  return n1 + n2
}
  • Array:(两种方式)
let e: string[];
let f: Array<number>;
  • tuple元组:固定长度的数组(TS新增)
let g: [string, number, string];
g = ['hello', 12, 'bye'];
  • enum枚举:罗列所有可能的值(TS新增)
enum Gender {
  male = 0,
  female = 1
}
let f: {name: string, gender: Gender};
f = {
  name: '孙悟空',
  gender: Gender.male
}

类型别名(可简化代码)

type mytype = 1 | 2 | 3 | 4 | 5;
let i: mytype;
let j: mytype;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值