TypeScript

简介: TypeScript

TypeScript 编程

1.数组提取联合类型


const arr = ['v1','v2'] as const;

// const arr = <const>['v1','v2'] ;  网上看的写法,版本不支持?

type A  = (typeof arr)[number] ; // 'v1' | 'v2'

尝试一下

2.数组对象,提取key或则value 作为联合类型

 const PORT_MAP = {
   
    'MYSQL':'3306',
    'HIVE':'10000',
    'HDFS' :'8020',
    'YARN' : '8032',
    'KAFKA' : ''
  } as const
  type PORT_MAP_TYPE = typeof PORT_MAP
  // 提取 key 作为联合类型
  type portMapType = keyof PORT_MAP_TYPE
  // 提取 val 作为联合类型
  // type portMapType = PORT_MAP_TYPE[keyof PORT_MAP_TYPE]

  /**
   * @environment: vue3.2 watch 语法。
   * @description: 使用场景:下拉框切换类型,这里是datasourceType,类型变化后 默认值切换。
   */
  watch(
    () => proForm.datasourceType,
    (datasourceType, preDatasourceType) => {
   
        proForm.port = PORT_MAP[datasourceType as portMapType]
    }
  )

尝试一下

  1. 把 one_two_three 写法转为 驼峰 oneTwoThree

    这里用的新知识
    extends 用来判断,这里结合递归处理;
    Capitalize 把首字母转为大写;
    intef 提取字符串;


type Separator = '_'

type SnakeToCamel<Str extends string , Acc extends string = ''> = 

  (Str extends `${infer HeadStr}${Separator}${
     infer TailStr}`
    ?(Acc extends '' 
      // This is a first call ,because  Acc is '' 
      // 第一个字母不用变成大写
      ? SnakeToCamel<TailStr,`${Acc}${HeadStr}`> 

      : SnakeToCamel<TailStr, `${Acc}${Capitalize<HeadStr>}`>)

    :`${Acc}${Capitalize<Str>}`
  ) 

type Res = SnakeToCamel<'one_two_three'>

尝试一下

相关文章
|
3月前
|
存储 JavaScript
TypeScript三
在 TypeScript 中,数组可以通过类型定义,如 `number[]` 或 `string[]`。示例展示了数字和字符串数组的声明与访问。数组解构允许将数组元素赋值给多个变量。通过 `for...in` 循环可遍历数组。多维数组如 `number[][]` 存储嵌套数组。数组方法包括:`concat()` 连接数组,`every()` 检查所有元素是否满足条件,`filter()` 过滤符合条件的元素,`forEach()` 对每个元素执行回调,`indexOf()` 查找元素位置,`join()` 将数组转为字符串,`map()` 应用函数于每个元素并返回新数组
|
3月前
|
JavaScript 前端开发 开发者
TypeScript一
JavaScript开发迅速但维护成本高,适合小型项目,因其动态类型导致编辑器提示不全。TypeScript是JS超集,增加了类型系统,提高开发效率和代码质量。安装TypeScript需先安装Node.js,然后通过npm安装tsc。案例演示创建`.ts`文件,转换成`.js`并运行。TypeScript支持多种数据类型,如any、number、string等,并有严格变量声明和函数定义规则,包括函数重载和匿名函数。
|
10月前
|
JavaScript 前端开发 编译器
30分钟速成TypeScript
30分钟速成TypeScript
|
JavaScript
【TypeScript理解】
【TypeScript理解】
|
JavaScript 前端开发 安全
快速了解 TypeScript
快速了解 TypeScript
|
JavaScript 前端开发 数据库
TypeScript 期中考试现在开始
相信这段时间来,对 TypeScript 感兴趣的小伙伴们已经把这个神器给系统的学习了一遍了吧。如果计划开始学习但是还没有开始,或者没有找到资料的同学,可以看下我在之前文章中 前端进阶指南[1] 找一下 TypeScript 部分的教程,自行学习。
|
JSON JavaScript 前端开发
Typescript知识总结(1)
Typescript知识总结(1)
Typescript知识总结(1)
|
JavaScript
初识 TypeScript 一。
初识 TypeScript 一。
初识 TypeScript 一。
|
JavaScript 前端开发 开发工具
TypeScript初识
TypeScript初识
138 0