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

typescript-类的静态属性和静态方法

我们上一节看到了类,里面都是类的实例属性和实例方法,即需要实例化后才可以进行访问的。

什么是静态属性和静态方法?

静态属性和静态方法是不需要实例化就可以访问的属性和方法(不需要实例化是指不需要new来生成对象)。

还是以上一节的Person类举例,比如,人都有头发,且都是黑色头发(大家别强,就是黑色的,哈哈)

class Person { public static blackHair: string = "黑色头发"; public static washHair(): void { console.log("洗头发 ", Person.blackHair); } public grabHair(): void { console.log("抓头发 " + Person.blackHair); } } console.log(Person.blackHair); Person.washHair(); let person = new Person(); person.grabHair();
tsc index.ts

在浏览器控制台查看

可以看到,静态属性和方法不需要实例化就可以访问

静态属性和方法的用法-单例模式

这里举一个常用的小用法,会涉及到一些其他的知识,就是后面讲的访问权限以及设计模式

假设这样一个场景,在你的应用中,一个Person只能有一个实例对象,不可以实例多个,说白了你的应用中只能有一个人,这个世界上只能有一个人,不能有第二个,这个就要用到我们的单例模式了。看以下代码

class Person { private static instance = null; public hair: string = "黑色头发"; public static getInstance(): Person { if (!Person.instance) { Person.instance = new Person(); } return Person.instance; } private constructor() {} } console.log(Person.getInstance().hair);
tsc index.ts

查看控制台输出

以上的Person有一个公用的静态方法getInstance,以及一个私有的静态属性instance,这里的构造函数也是私有的,即不能直接在外面通过new来生成实例。这就保证了想要获取这个person的实例,只能用Person.getInstance()来获取。

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

相关文章:

  • 解锁AI记忆新范式:人类情景记忆如何提升大模型性能
  • 人工智能应用-机器视觉:绘画大师 05.还原毕加索的隐藏画
  • 揭秘!提示工程架构师优化提示系统用户参与策略的关键技巧
  • 【教程4>第10章>第25节】基于FPGA的图像Robert变换开发——理论分析与matlab仿真
  • AAAI 2025论文分享|Agent4Edu:基于大语言模型生成式智能体的个性化学习模拟器
  • Node.js代码统计神器
  • 存储技术全解:从基础到前沿
  • 存储技术全解:从基础到前沿
  • 基于广义Benders分解法的综合能源系统优化规划Matlab代码
  • SCADA与数字孪生(Digital Twin)系统的异同点在哪里?
  • 基于多目标粒子群算法冷热电联供综合能源系统运行优化Matlab实现
  • 洛谷 P10962:Computer ← 换根DP
  • SCADA与数字孪生(Digital Twin)系统的异同点在哪里?
  • AI狂飙与冷思考:一个准码农的2026开年观察
  • 完整教程:人机交互(如 VR 手柄追踪、光标移动、手势识别)的滤波算法
  • 【读书笔记】《稻盛和夫自传》
  • 《把脉行业与技术趋势》-65-当你的人生轨迹与民族复兴的长波、技术革命的中波、行业爆发的短波同频共振时,平凡的努力,也会被时代放大成非凡的成就——这,便是“着道”的现代诠释。
  • AI生成SQL的安全风险与测试框架
  • 线段树合并
  • 454. 四数相加 II-day06
  • 《把脉行业与技术趋势》-69-股票的周期、产品的周期、企业的周期的相似性与不同,以及它们各自在不同阶段关注的重点和核心要素不同
  • 大数据毕设选题推荐:基于大数据技术的Django框架下的学习资源推送系统的设计与实现基于Django+大数据的学习资源推送系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 若思中国发布2026年十大最具影响力战略咨询大师推荐榜 - 资讯焦点
  • 大模型测试的“评估指标”:BLEU?ROUGE?都不够!
  • 互联网大厂Java面试场景:分布式系统与微服务架构
  • 品牌整合营销战略咨询公司哪家靠谱? - 资讯焦点
  • 寒假学习笔记1.18
  • ‌构建“大模型测试沙箱”:隔离、监控、审计的工程实践指南
  • 含分布式电源的配电网日前两阶段优化调度模型-无功优化Matlab代码
  • 多模态RAG不止知识问答:文搜图与图搜图的四种实现方案