TS(TypeScript)— 数据类型

1.基本数据类型:

  • number: 表示数值类型,包括整数和浮点数。
//数值类型
let num : number = 123
num= 0B1111011 //二进制
num= 0XA //十六进制
num= 0o173 //八进制
num= 123.456
num= Infinity
num= NaN
  • string: 表示字符串类型。
//字符串类型
let str : string = 'abc'
str = `${str}22222${num}`
  • boolean: 表示布尔类型,只能是 true 或 false
//布尔类型
// let bool: boolean = false
let bool:boolean
bool = true
  • null 和 undefined: 表示空值,分别有自己的类型。
//null和undefined
let u:undefined = undefined
let n:null = null
  • symbol: 表示唯一标识符,通常用于对象属性的键。
//symbol类型
const sm = Symbol()
const sm2 = Symbol('abc')

 2.复合数据类型:

  •  Array: 表示数组类型,可以包含多个相同类型或不同类型的元素。
//数组类型
let arr: number[]
arr = [1,2,3]
let arr2: Array<number>
arr2 = [1,2,3]
let arr3: (string | number)[]
arr3 = [1,'2',3]
  • Tuple: 表示元组类型,可以定义具有固定数量和类型的元素的数组。
//元祖类型
let tuple: [string, number, boolean]
tuple = ['1',2,true]
  • Object: 表示对象类型,可以包含多个键值对。
//object类型
let obj ={
    name:'abc'
}
function getObj(obj:object){
    console.log(obj)
}
  • Function: 表示函数类型,包括函数的参数类型和返回值类型。
function add(x: number, y: number): number {
  return x + y;
}

 3.高级数据类型:

  •  Enum: 表示枚举类型,用于定义一组命名的常量。
//枚举类型
enum Roles {
    SUPER_ADMIN,
    ADMIN,
    USER
}
  • Any: 表示任意类型,可以接受任何类型的值,相当于放弃了类型检查。
//any类型
let value:any
value = 123
value = 'abc'
value = true
  • Void: 表示没有类型,通常用于函数没有返回值时的标注。
//void类型
const fn = (text:string):void => {
    console.log(text)
}
fn('abc')
  • Never: 表示永远不存在的值的类型,通常用于永远不会返回的函数或抛出异常的函数的返回值类型。
//never类型
const error = (message:string):never => {
    throw new Error(message)
}

4.类型断言:

可以使用类型断言来告诉 TypeScript 编译器某个值的类型,类型断言有两种形式:

  • 尖括号语法:
let strLength: number = (<string>someValue).length;
  • as 语法:
let strLength: number = (someValue as string).length;
//类型断言
const getLength = (target:string|number):number =>{
    if((<string>target).length || (target as string).length===0){
        return (<string>target).length
    }else{
        return target.toString().length
    }
}

 

posted on 2024-04-07 17:14  萬事順意  阅读(161)  评论(0编辑  收藏  举报