类型

// TypeScript变量类型演示 - 自动生成所有主要类型

// 基本类型变量组
const basicTypes = (() => {
  // 字符串类型
  let a: string = 'hello'
  // 数字类型
  let b: number = 111
  // 布尔类型
  let c: boolean = true
  // 任意类型
  let d: any = '可以是任何值'
  // null类型
  let e: null = null
  // undefined类型
  let f: undefined = undefined
  // Symbol类型
  let g: symbol = Symbol('sym')
  
  return {a, b, c, d, e, f, g}
})()

// 对象类型变量组
const objectTypes = (() => {
  // 普通对象类型
  let h: object = {}
  // 函数类型
  let i: Function = () => {}
  // 数组类型
  let j: Array<string> = ['a', 'b']
  // 对象字面量类型
  let k: { name: string, age: number } = { name: 'John', age: 30 }
  // 元组类型
  let l: [string, number] = ['age', 30]
  
  return {h, i, j, k, l}
})()

// 内置对象类型变量组
const builtInTypes = (() => {
  // Date类型
  let m: Date = new Date()
  // 正则表达式类型
  let n: RegExp = /abc/
  // 错误对象类型
  let o: Error = new Error()
  
  return {m, n, o}
})()

// 高级类型变量组
const advancedTypes = (() => {
  // Map类型
  let p: Map<string, number> = new Map()
  // Set类型
  let q: Set<string> = new Set()
  // WeakMap类型
  let r: WeakMap<object, string> = new WeakMap()
  // WeakSet类型
  let s: WeakSet<object> = new WeakSet()
  // Promise类型
  let t: Promise<string> = Promise.resolve('done')
  
  return {p, q, r, s, t}
})()

// 类型别名和接口
interface Person {
  name: string
  age: number
}

type ID = string | number

// 使用类型别名和接口的变量
const u: Person = { name: 'Alice', age: 25 }
const v: ID = '12345'

// 导出所有变量以便测试
export {
  basicTypes,
  objectTypes,
  builtInTypes,
  advancedTypes,
  u as person,
  v as userId
}

posted @ 2025-06-27 15:17  华腾智算  阅读(7)  评论(0)    收藏  举报
https://damo.alibaba.com/ https://tianchi.aliyun.com/course?spm=5176.21206777.J_3941670930.5.87dc17c9BZNvLL