news 2026/4/4 6:36:31

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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()来获取。

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

八段锦练习注意要点

八段锦是中国古代流传下来的一套气功功法,以八个精心编排的动作著称。它不仅能活动筋骨,长期坚持还能调理脏腑功能,改善整体的身心状态。 以肢体运动为主要特点的导引健身养生术它通过肢体运动强壮筋骨,疏通经络,调和气…

作者头像 李华
网站建设 2026/3/28 18:10:31

学霸同款8个AI论文网站,本科生搞定毕业论文!

学霸同款8个AI论文网站,本科生搞定毕业论文! 论文写作的“学霸同款”神器,你真的不能错过 对于大多数本科生来说,撰写毕业论文是一段既紧张又充满挑战的过程。从选题到开题,再到撰写和降重,每一个环节都需要…

作者头像 李华
网站建设 2026/3/26 11:47:06

‌构建“大模型测试沙箱”:隔离、监控、审计的工程实践指南

‌一、背景:为何传统测试范式在大模型时代失效?‌大模型(LLM)的非确定性、黑盒性与高资源消耗,彻底颠覆了传统软件测试的底层假设:‌输出不可复现‌:相同输入在不同会话中可能产生语义一致但文本…

作者头像 李华
网站建设 2026/4/2 3:10:03

无线网络仿真:无线网络基础_(4).天线与传播特性

天线与传播特性 天线的基本概念 天线是无线通信系统中最基本的组件之一,用于在空间中传输和接收电磁波。天线的设计和选择对于无线网络的性能至关重要。在本节中,我们将详细探讨天线的基本概念,包括天线的类型、参数以及工作原理。 天线的类型…

作者头像 李华
网站建设 2026/4/3 22:16:48

[安洵杯 2019]吹着贝斯扫二维码

打开附件后发现是一堆碎片一样的二维码,和一个加密的压缩包 按时间排序二维码碎片观察是否有顺序 似乎也不是正常的顺序(看二维码三个角的顺序) 用16进制查看器随便查看一个碎片看看有没有排列提示 发现末端有数字标记 估计这个就是排序了…

作者头像 李华