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

TypeScript 学习笔记

TypeScript 学习笔记

0. 前言

  • 主题:TypeScript 基础入门、基础类型、类、接口、类型标注、TS与Java接口区别
  • 标签:TypeScript、前端基础、类型系统

1. TypeScript 简介

  • TypeScript(简称 TS)是微软推出的开源编程语言。
  • TypeScript 是JavaScript 的超集,所有 JavaScript 语法在 TS 中都能直接使用。
  • 核心本质:Type = Type + JavaScript,在 JS 基础上新增静态类型检查能力。
  • 文件后缀:.ts
  • TS 不能直接在浏览器运行,会编译转换为标准 JavaScript;在编译阶段就做类型校验,提前捕获语法与类型错误。

2. 基础常用类型

  • string:字符串类型
  • number:数字类型(整数、小数统一归类)
  • boolean:布尔类型,仅取值 true / false
  • any:任意类型,关闭类型校验,可赋值任意数据
  • type:自定义类型别名
  • interface:定义接口类型结构
  • ()=>void:无参数、无返回值的函数类型

3. 字面量类型

限定变量只能取固定几个字面值,限制取值范围,语法更严谨。

4. 类型标注的位置

4.1 标注变量

给变量显式指定类型:

letmsg:string='hello ts !';

4.2 标注函数参数

给函数形参指定类型。

4.3 标注函数返回值

指定函数执行后的返回值类型。

示例:

constm2=(name:string):string=>{returnname.toLowerCase()+msg;}

5. Class 类核心特性

TS 中的类包含核心组成:

  • 成员属性
  • 构造方法 constructor
  • 普通成员方法
  • 接口实现implements
  • 类继承extends

6. TS 接口 与 Java 接口的区别

相同点

  1. 都可以定义行为规范与结构约束。
  2. 都支持被类实现,统一代码规范。

不同点

  1. 作用范围
  • TS 接口:可约束对象、函数、数组、类多种结构,用途更广。
  • Java 接口:仅用于约束类的行为方法,只能被类实现。
  1. 编译特性
  • TS 接口:编译后会消失,仅做开发阶段类型约束,运行时不存在。
  • Java 接口:编译后生成独立字节码文件,运行时真实存在。
  1. 语法能力
  • TS 接口支持属性定义、可选属性、只读属性、多接口继承。
  • Java 接口侧重方法抽象、常量定义,语法约束更严格。
  1. 使用场景
  • TS 接口:多用于定义前端数据模型、对象结构、函数格式。
  • Java 接口:多用于后端面向对象抽象、业务行为规范定义。
http://www.jsqmd.com/news/823141/

相关文章:

  • 蓝桥杯单片机项目实战:用AT24C02 EEPROM给DS1302时钟做个‘掉电记忆’(附完整代码)
  • Proe三维模型转CAD二维图,手把手教你搞定图纸加工(附常见问题修复)
  • 常用图像绘制在线实验闯关
  • Ganache 快速启动与 Truffle 项目集成实战
  • 别再手动复制图片了!WPF图像资源‘生成操作’选Resource还是Content?一次讲清区别与实战选择
  • 对比直接购买与通过taotoken的tokenplan套餐成本差异分析
  • 内网服务也安全:手把手教你用mkcert为NAS、树莓派和智能家居设备签发HTTPS证书
  • 骁龙X60如何通过系统级协同设计,定义5G旗舰体验
  • 【限时开源】ElevenLabs多角色对话编排引擎v2.3:支持动态角色注入、跨话轮情感继承与实时唇形同步(仅开放48小时)
  • 别再死记硬背参数了!深入理解Halcon形状匹配的‘金字塔’与‘对比度’:以create_shape_model为例
  • 2026年内蒙古企业推广公司哪家好 适配中小微与大型企业的AI获客 覆盖蒙宁全域 - 深度智识库
  • 逆向分析入门:如何用VMOS Pro+HttpCanary安全抓取安卓App数据(以快手极速版为例)
  • MATLAB实战:手把手教你用iradon函数实现CT图像重构(附完整代码与避坑指南)
  • 别再手动刷新了!用Nginx给本地Nacos集群做个负载均衡,5分钟搞定
  • 低代码平台表单设计器 unione form editor 组件介绍--复选组件
  • 3步掌握Cats Blender插件:从模型导入到VRChat优化的完整指南
  • 高效构建面试题库系统:React+Node全栈技术实战指南
  • 工业自动化中的电路隔离技术原理与应用
  • 从零到一:在Quartus II中构建高效Testbench并驱动Modelsim精准仿真
  • 重庆注册公司代办机构口碑榜|本地正规工商服务整理 - 果果1998
  • 基于Jetpack Compose与OpenAI API的Android ChatGPT客户端开发实践
  • 高级网页设计技能体系构建:从设计系统到数据驱动的全链路能力
  • 告别命令行:InfluxDB Studio如何让时间序列数据管理变得像聊天一样简单
  • 3步实现高效无水印下载:开源抖音下载器终极指南
  • 从Figma到Midjourney的极简工作流革命:1套可复用的“视觉降噪SOP”(含内部团队验证版Checklist)
  • 前端性能优化实战:除了虚拟滚动,我们还能为el-table做些什么?(懒加载、分页策略与代码分割)
  • 2026年两层家用别墅电梯公司推荐:曳引式家用别墅电梯/复式楼家用别墅电梯/无机房家用别墅电梯专业选型 - 品牌推荐官
  • 2026年4月目前正规的活塞式气动马达实力厂家推荐分析,源霸动力/搅拌桨叶/活塞式气动马达,活塞式气动马达企业推荐 - 品牌推荐师
  • 从标注工具到AI流水线:在Windows上搭建CVAT,并连接Label Studio与Jupyter Notebook
  • OpenRegistry私有镜像仓库:轻量部署与生产实践指南