当前位置: 首页 > news >正文

【TS】TS总结

1. 类型声明

  • 通过:类型明确指定变量的类型。
  • 示例:
    leta:string;letb:number;letc:boolean;functiondemo(x:number,y:number):number{returnx+y;}

2. 类型推断

  • TypeScript 会根据赋值自动推断变量类型。
  • 示例:
    letd=-99;// 推断为 numberd=false;// 报错

3. 类型总览

  • JavaScript 原始类型:stringnumberbooleannullundefinedbigintsymbolobject
  • TypeScript 扩展类型:voidneverunknownanyenumtuple
  • 自定义类型:typeinterface

4. 常用类型

4.1 字面量类型

  • 值只能是特定的字面量。
  • 示例:
    leta:'你好';letgender:'男'|'女';

4.2any

  • 任意类型,放弃类型检查。
  • 显式与隐式:
    leta:any;// 显式letb;// 隐式(推断为 any)

4.3unknown

  • 类型安全的any,赋值给其他类型需先断言或类型判断。
  • 示例:
    leta:unknown='hello';letx:string;x=aasstring;// 断言

4.4never

  • 表示永远不会有值。
  • 常用于函数返回值或类型推断中的不可能分支。
  • 示例:
    functionerror(message:string):never{thrownewError(message);}

4.5void

  • 表示空或undefined,常用于无返回值的函数。
  • 示例:
    functiondemo():void{console.log('no return');}

4.6object

  • 表示非原始类型(对象、数组、函数等)。
  • 通常使用具体结构进行限制:
    letperson:{name:string;age?:number};

4.7tuple(元组)

  • 固定长度的数组,各位置类型可不同。
  • 示例:
    lett:[string,number];t=['hello',123];

4.8enum(枚举)

  • 定义一组具名常量。
  • 示例:
    enumColor{Red,Blue,Black}letc:Color=Color.Red;

5. 自定义类型

  • 使用type定义类型别名。
  • 示例:
    typeStudent={name:string;age:number;grade:1|2|3;};

6. 抽象类

  • abstract声明,不能实例化,只能被继承。
  • 可包含抽象方法和普通方法。
  • 示例:
    abstractclassPerson{abstractspeak():void;walk(){console.log('walking...');}}

7. 接口

  • interface定义,可重复声明(合并)。
  • 可用于限制类结构或作为类型使用。
  • 与抽象类的区别:
    • 接口只能有抽象成员
    • 类使用implements实现接口
    • 示例:
      interfacePerson{name:string;speak():void;}

8. 属性修饰符

修饰符说明
readonly只读,不可修改
public公开(默认)
protected仅在类及子类中可访问
private仅在类内部可访问

9. 泛型

  • 用于在定义时不指定具体类型,使用时再确定。
  • 可约束泛型范围。
  • 示例:
    functionidentity<T>(arg:T):T{returnarg;}functiongetLength<Textends{length:number}>(arg:T):number{returnarg.length;}

本文涵盖类型系统、自定义类型、类与接口、泛型等核心概念,适用于快速复习与查阅。

http://www.jsqmd.com/news/340217/

相关文章:

  • 2026年青海经销商系统服务商综合评估与选择参考 - 2026年企业推荐榜
  • 2026年评价好的徐汇‌二手房/普陀二手房精选口碑 - 行业平台推荐
  • 2026年质量好的滚塑防腐储罐/防腐储罐全方位厂家推荐参考 - 行业平台推荐
  • 2026年正规的浦东买房中介/普陀‌买房中介推荐热选 - 行业平台推荐
  • 2026年热门的蒸汽加热反应釜/不锈钢反应釜行业认可厂家推荐 - 行业平台推荐
  • 繁琐部署用Docsify搞定,加上cpolar轻松搭建可远程访问的技术文档
  • 2026年质量好的刮膜式分子蒸馏设备/短程分子蒸馏设备厂家选购参考建议 - 行业平台推荐
  • 基于微信小程序的二手闲置交易系统【源码+文档+调试】
  • 基于Java的废弃电子产品处理智慧管理系统的设计与实现全方位解析:附毕设论文+源代码
  • 2026年评价高的全钢防火玻璃隔断/复合纳米硅防火玻璃隔断品牌厂商推荐(更新) - 行业平台推荐
  • 2026年知名的柜式离心风机/离心风机优质供应商推荐参考 - 行业平台推荐
  • 2026年评价高的补偿工作台/折弯机机械补偿工作台高口碑厂家推荐(评价高) - 行业平台推荐
  • 2026年新能源二手车购买指南:值得关注的销售公司盘点 - 2026年企业推荐榜
  • 内蒙古火烧板工程采购指南:2026年优质工厂盘点与避坑建议 - 2026年企业推荐榜
  • 2026年值得关注的五家汽车咨询代理服务商盘点 - 2026年企业推荐榜
  • 2026年质量好的瓷砖胶强力粘合剂/瓷砖优质厂商精选推荐(口碑) - 行业平台推荐
  • 2026年口碑好的塑料水箱/pp水箱厂家最新推荐 - 行业平台推荐
  • 2026年口碑好的淋浴顶喷新品/大型淋浴顶喷优质供应商推荐参考 - 行业平台推荐
  • 2026北京石材工程采购指南:五家实力工厂深度评测与选型建议 - 2026年企业推荐榜
  • 2026年知名的全铜淋浴花洒/家用淋浴花洒厂家推荐参考 - 行业平台推荐
  • 超越降维:主成分分析(PCA)组件在现代数据工程中的深层实践与哲学思考
  • AI大模型研发工程师就业实训班:3月开班+预科免费+高薪就业,春节前报名享惊喜!
  • 2026年热门的透镜电动注塑机/电动注塑机厂家综合实力参考(2026) - 行业平台推荐
  • 2026年靠谱的一体化集鱼灯/便携式集鱼灯厂家推荐综合参考 - 行业平台推荐
  • 西安用友T+软件服务商综合评测与选型指南(2026版) - 2026年企业推荐榜
  • 2026年比较好的工业流水线/家电流水线厂家用户好评推荐 - 行业平台推荐
  • 2026年靠谱的北京自组网终端/北京应急自组网设备厂家专业度参考(精选) - 行业平台推荐
  • 2026年口碑好的拉伸弹簧/不锈钢弹簧厂家推荐技术参考 - 行业平台推荐
  • 2026年比较好的会所工程灯/酒店工程灯厂家热销推荐 - 行业平台推荐
  • 2026年成都家装石材厂家口碑榜:六强综合评估与选择指南 - 2026年企业推荐榜