news 2026/10/13 16:35:35

【TS】TS总结

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【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 原始类型:string、number、boolean、null、undefined、bigint、symbol、object
  • TypeScript 扩展类型:void、never、unknown、any、enum、tuple
  • 自定义类型:type、interface

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;}

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/8 22:22:41

OpenAI RLHF原论文深度解析:一文掌握大模型强化学习PPO算法精髓

本文详细解读OpenAI的RLHF奠基论文&#xff0c;介绍通过三步训练InstructGPT&#xff1a;1)SFT阶段用13k人工标注数据微调GPT-3&#xff1b;2)训练RM模型对response打分&#xff1b;3)使用PPO算法优化LLM。实验表明1.3B参数的InstructGPT效果优于175B GPT-3&#xff0c;文章提供…

作者头像 李华
网站建设 2026/10/11 19:10:13

B帧导致PTS DTS不一致的原理

1. 核心概念DTS&#xff08;Decoding Time Stamp&#xff09;&#xff1a;解码时间戳&#xff0c;决定「什么时候解码这一帧」&#xff0c;严格遵循解码顺序。PTS&#xff08;Presentation Time Stamp&#xff09;&#xff1a;显示时间戳&#xff0c;决定「什么时候显示这一帧」…

作者头像 李华
网站建设 2026/10/13 14:57:38

老旧CentOS7服务器JVM加载Jar缓慢排查:竟与NTP服务器有关

老旧CentOS7服务器JVM加载Jar缓慢排查&#xff1a;竟与NTP服务器有关 近期维护一批老旧CentOS 7服务器时&#xff0c;遇到一个十分诡异的JVM故障——使用Java 8加载Jar包时速度异常缓慢&#xff0c;往往要等待数分钟甚至超时&#xff0c;而相同服务器切换到Java 17后&#xff0…

作者头像 李华
网站建设 2026/10/10 2:39:20

Tiez 贴汁 高效的剪贴工具

官方网站 https://tiez.name666.top/zh/ Tiez 贴汁 一贴即合&#xff0c;原汁原味。 不仅是高效的剪贴工具&#xff0c;更是您工作流中值得信赖的“铁汁”。

作者头像 李华
网站建设 2026/10/11 22:34:49

Git-RSCLIP企业级应用:国土调查外业核查前的自动化地物预判

Git-RSCLIP企业级应用&#xff1a;国土调查外业核查前的自动化地物预判 1. 为什么外业核查前需要“预判”&#xff1f; 你有没有遇到过这样的情况&#xff1a;一支国土调查队伍带着设备奔赴几十公里外的田间地头&#xff0c;结果发现——拍回来的照片里&#xff0c;本该是“设…

作者头像 李华
网站建设 2026/10/12 0:05:05

三天,用 AI 写了一个浏览器:真正强大的,还是程序员!

前段时间&#xff0c;Cursor宣布用AI写了一个浏览器FastRender&#xff0c;被全网嘲笑了。这个项目号称使用成百上千个并行 AI 智能体&#xff0c;连续跑了一周&#xff0c;生成了一个Web 浏览器&#xff0c;代码量超过 300 万行。但是很多程序员clone以后&#xff0c;却发现跑…

作者头像 李华