TypeScript数据类型

本文详细介绍了JavaScript中的基本数据类型如string、number、boolean,以及ES6新增的undefined、null、symbol和BigInt。讨论了any、void、unknown和never在类型推断中的角色,并重点讲解了对象、数组、元组、枚举和不同类型的使用与限制。通过实例展示如何使用interface和类型断言来增强代码的类型安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、string

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

二、number

let num:number = 123

三、boolean

let bool:boolean = true

四、undefined

let un:undefined = undefined

五、null

let n:null = null

六、symbol

const key:symbol = Symbol()
const obj = {
  [key]: "value",
}

七、bigint

let b1:bigint = 999999999999999999n
const b2:bigint = BigInt("999999999999999999")

八、any

  • 用户输入或第三方库等不知道的输入类型
let value:any = 66
value = "996"

九、void 函数没有返回值

function fn(str:string):void{
	console.log(str)
}

十、unkonwn

  • unkonwn在实际开发中常用代替any,unknown 类型不能赋值给除了 unknown 或 any 的其他任何类型,使用前必需显式进行指定类型,或是在有条件判断情况下能够隐式地进行类型推断的情况
  • 联合类型中有unknown,那么最终得到的都是unknown类型
type U = unknown | string
  • unknown不能调用属性和方法,但可以使用类型断言或类型保护访问属性
let value:unknown;
value = 'typeScript';

类型断言
(value as string).length

if (typeof value === 'string') {
  value.length
}

十一、never

  • 假如同事改了 All 的类型就会报一个编译错误,用于确保val永远是穷尽的
interface All {
	type:string,
	value:any
}
function handleValue(val: All) {
  switch (val.type) {
    case 'type1':
      break
    default:
      // val 在这里是 never
      const exhaustiveCheck: never = val
      break
  }
}

十二、对象

  • 最好使用interface替代
declare function fn(o: object | null): void;
fn({ prop: 996 }); // OK
fn(null); // OK
fn("内卷"); // Error

使用interface限制对象属性
interface Obj {
  name: string;
}
let obj: Obj = {
  name: "luffy",
};

十三、数组

let arr:number[] = [4, 5, 6]
let arr1: Array<string>

innterface Obj{
	type:string
	value:any
}
let arr2:Array<Obj>

十四、元组tuple

  • 固定长度的数组
let tu:[string, number, boolean] = ["abcd", 5, false]

十五、枚举enum

enum sex{
	man = 1
	male = 2
}
console.log(sex.man)  //1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值