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

TypeScript基础知识点

TypeScript 是一种由微软开发和维护的开源编程语言,是 JavaScript 的超集。它添加了可选的静态类型、类、接口、枚举和其他高级功能,可以提高代码的可读性、可维护性和可扩展性。

以下是 TypeScript 的基础知识点:

类型声明:TypeScript 可以自动推断变量类型,也可以手动声明类型。例如:
let num: number = 123;
let str: string = 'hello';
let bool: boolean = true;
接口:TypeScript 中的接口可以用来定义对象的结构,并且可以在编译时进行类型检查。例如:
interface Person {name: string;age: number;
}function greet(person: Person) {console.log(`Hello, ${person.name}! You are ${person.age} years old.`);
}greet({ name: 'Alice', age: 30 });
类:TypeScript 支持类的定义,并且可以使用访问修饰符(public、private、protected)来控制成员的访问权限。例如:
class Animal {name: string;constructor(name: string) {this.name = name;}move(distanceInMeters: number) {console.log(`${this.name} moved ${distanceInMeters}m.`);}
}class Dog extends Animal {bark() {console.log('Woof! Woof!');}
}const dog = new Dog('Leo');
dog.move(10); // Leo moved 10m.
dog.bark();   // Woof! Woof!
泛型:TypeScript 支持泛型,可以在编译时进行类型检查。例如:
function identity<T>(arg: T): T {return arg;
}let num = identity<number>(123);      // num: number
let str = identity<string>('hello');  // str: string
枚举:TypeScript 支持枚举类型,可以为一组数值赋予更有意义的名称。例如:
enum Color {Red,Green,Blue,
}let c: Color = Color.Green;
console.log(c); // 1

相关文章:

  • 捕捉消费新趋势,脉纷纷让生活更便捷
  • 学习鸿蒙基础(4)
  • python加载模块
  • 【工具类】开源照片管理工具pthtoprism
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • 【Docker】初学者 Docker 基础操作指南:从拉取镜像到运行、停止、删除容器
  • 【Redis】理论进阶篇------浅谈Redis的缓存穿透和雪崩原理
  • 可变形注意力(Deformable Attention)及其拓展
  • 【Linux进程】冯·诺依曼体系结构以及操作系统的深入理解
  • this的指向问题总结
  • 【深度学习:计算机视觉】计算机视觉的最佳数据集 [行业细分]
  • 常见锁策略,CAS,synchrodized原理讲解
  • 企业微信机器人的运营策略与实践
  • LeetCode 热题 100 | 二叉树(终)
  • 基于springboot+vue的中小型医院网站(前后端分离)
  • 【刷算法】求1+2+3+...+n
  • MySQL的数据类型
  • Redis字符串类型内部编码剖析
  • spring boot下thymeleaf全局静态变量配置
  • 仿天猫超市收藏抛物线动画工具库
  • 构建工具 - 收藏集 - 掘金
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 思考 CSS 架构
  • 说说我为什么看好Spring Cloud Alibaba
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • # Java NIO(一)FileChannel
  • #laravel 通过手动安装依赖PHPExcel#
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • #单片机(TB6600驱动42步进电机)
  • $.ajax()方法详解
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (solr系列:一)使用tomcat部署solr服务
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (转载)虚函数剖析
  • *** 2003
  • ***检测工具之RKHunter AIDE
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .NET Core 和 .NET Framework 中的 MEF2
  • .net mvc 获取url中controller和action
  • .Net 路由处理厉害了
  • .NET/C# 使用反射调用含 ref 或 out 参数的方法
  • .NET框架设计—常被忽视的C#设计技巧
  • .net项目IIS、VS 附加进程调试
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • []C/C++读取串口接收到的数据程序
  • [20150321]索引空块的问题.txt
  • [Android]使用Git将项目提交到GitHub
  • [Angular 基础] - 自定义指令,深入学习 directive
  • [BT]小迪安全2023学习笔记(第15天:PHP开发-登录验证)
  • [English]英语积累本
  • [Gradle] 在 Eclipse 下利用 gradle 构建系统
  • [HEOI2013]ALO
  • [IE9] 解决了傲游、搜狗浏览器在IE9下网页截图的问题