ts 基础数据类型

本文介绍了TypeScript的基础类型,包括boolean、number、string、null、undefined,以及更复杂的数组、元组、枚举、any和void类型。还提到了object类型及其使用场景,并展示了如何声明和使用这些类型。
摘要由CSDN通过智能技术生成

在学习ts时,部分看的是24kcs老师的免费课程,有需要可点击 https://www.gulixueyuan.com/my/course/405

前言

  • 声明时,需要加上 :类型

  • ts中变量一开始 声明的时候是什么类型,后面 赋值也只能用这个类型的数据

  • 大部分 基础类型 理解上与 js 相同,主要关注下 枚举元祖any

一、布尔型 boolean

let flag: boolean = true

二、数值型 number

let a1: number = 10 // 十进制
let a2: number = 0b1010  // 二进制
let a3: number = 0o12 // 八进制
let a4: number = 0xa // 十六进制

三、字符串 string

let name: string = 'blue'

字符串 和 数字 拼接成 新的字符串

let a5: string = '我有好多钱:'
let a6: number = 1000000000
console.log('字符串和数字之间能否拼接', a5 + a6) // 我有好多钱:1000000000

四、null

let nul: null = null

五、undefined

let und: undefined = undefined

null undefined所有类型的子类型(可以把 undefined、null 赋值给其他类型的变量)

let und_num: number = 100
und_num = undefined // tsconfig中严格模式若开启,这一行会报错

六、数组

两种定义方式:

1、数据类型[ ]

// let 变量名: 数据类型[] = [值1, 值2, 值3]
let arr1:string[] = ['aaa'] 

多维数组

let arr11:string[][] = [['aaa'], ['bbb', 'ccc']] 

2、Array<数据类型>

// let 变量名: Array<数据类型> = [值1, 值2, 值3]
let arr2:Array<number> = [1, 2]

七、元祖 Tuple

定义 数组 的时候,类型个数 一开始就已经限定了

let tup: [string, boolean, number] = ['aaa', false, 123.123]
  • 元祖 在修改时,也需要 保持最初的设定, 否则会报错
  • 不同索引的数据 使用方法时,也需要对应其类型,否则会报错
// 报错
tup = [false, 123, 'aaa']
// 报错
console.log(tup[1].split(''))

八、枚举 enum

  • 为一组数值起名字,可通过名字来访问数值,也可通过数值得到名字
  • 枚举里面的每一个数据值都可以叫 元素;每个元素都有自己的编号,编号从 0 开始递增 加1
  • 可以手动修改编号 从任意值开始,也可以手动指定任一值
enum Color {
  red,
  green,
  blue
}
console.log(Color[1]) // green

// 手动修改编号从1开始
enum Color2 {
  red = 1,
  green,
  blue
}
console.log(Color2[3]) // blue

// 全部手动指定编号
enum Color3 {
  red = 2,
  green = 4,
  blue = 5
}
console.log(Color3[5]) // blue

// 根据元素找到编号
let color3: Color3 = Color3.red
console.log('color3', color3) // 2

日常使用场景

enum Sex {
  male = 1,
  female
}

九、any

表示任意类型

// any 类型
let an: any = 100
an = '改成字符串哈哈哈'

// 或者用在数组上:个数、类型不确定时
let arrAny: any[] = [100, 'abc', false]
let arrAny2: Array<any> = [200, 'abc', false]

// 但是,声明了any类型,有些报错无法触发(所以有好处也有坏处)
// 比如:对数值型执行split
console.log(arrAny[0].split(''))

十、void

表示没有任何类型

// 例如,函数无返回值
function showMsg (msg: string) :void {
 console.log('对函数定义void', msg)
 
  // 因为定义函数返回为void类型,所以返回正常值出去会报错,返回undefined、null不会报错
  // return true
  // return undefined
  // return null
}

十一、object

// 例如:定义一个函数,参数是object类型,返回值也是object类型
function getObj(obj: object) :object {
  console.log(obj)

  return {
    name: '哈哈哈',
    age: 18
  }
}

// console.log(getObj('1111')) // 错误
console.log(getObj({ sex: '女' })) // 正确
console.log(getObj(String)) // 正确
console.log(getObj(new String(111))) // 正确
console.log(getObj(new Array([1, 2, 3]))) // 正确
TSTypeScript)是一种静态类型检查的高级编程语言,它是JavaScript的超集。在TS中,基础类型和泛型都是其重要的概念。 基础类型指的是TS中预定义的简单数据类型,例如:number、string、boolean、null、undefined等。基础类型用于表示变量或函数的数据类型,可以直接赋值给变量,也可以用作函数的参数和返回值类型。基础类型的定义和使用非常简单,只需要在变量或函数的类型声明中指定即可。 泛型(Generic)是一种在编程中广泛使用的概念,它允许我们在定义函数、类或接口时使用可变的类型。使用泛型可以提高代码的复用性和灵活性。在TS中,使用<>符号来声明使用泛型,并通过类型参数来指定具体的类型。 例如,定义一个泛型函数: function identity<T>(arg: T): T { return arg; } 这个函数使用了泛型类型参数T,可以接受不同类型的实参,并返回相同类型的值。通过使用泛型,我们可以传入任意类型的参数,而不需要重写多个函数。 另外,在TS中还可以使用泛型约束来限制泛型类型的操作。通过在泛型类型参数后面添加extends关键字和约束类型,可以确保传入的类型必须满足特定条件。 总结起来,TS中的基础类型和泛型都是为了增强代码的可读性、可维护性和可靠性而设计的。基础类型用于定义简单的数据类型,而泛型则用于创建更灵活和可复用的函数、类和接口。在实际开发中,合理使用基础类型和泛型,可以提高代码的质量和开发效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值