博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TypeScript基础入门 - 类 - 静态属性
阅读量:6526 次
发布时间:2019-06-24

本文共 1005 字,大约阅读时间需要 3 分钟。

转载

项目实践仓库

https://github.com/durban89/typescript_demo.gittag: 1.1.3

为了保证后面的学习演示需要安装下ts-node,这样后面的每个操作都能直接运行看到输出的结果。

npm install -D ts-node

后面自己在练习的时候可以这样使用

npx ts-node 脚本路径

静态属性

到目前为止,只学习了类的实例成员,那些仅当类被实例化的时候才会被初始化的属性。 我们也可以创建类的静态成员,这些属性存在于类本身上面而不是类的实例上。 在这个例子里,我们使用 static定义 origin,因为它是所有网格都会用到的属性。 每个实例想要访问这个属性的时候,都要在 origin前面加上类名。 如同在实例属性上使用 this.前缀来访问属性一样,这里我们使用 Grid.来访问静态属性。

class Grid {    constructor(public scale: number) { }    static origin = {        x:0,        y:0,    }    calculateDistanceFromOrigin(point: {x: number, y: number}) {        let xDist = point.x - Grid.origin.x;        let yDist = point.y - Grid.origin.y;        return Math.sqrt(xDist * xDist + yDist * yDist) / this.scale;    }}let grid1 = new Grid(1.0)let grid2 = new Grid(2.0)console.log(grid1.calculateDistanceFromOrigin({x: 10, y: 10}));console.log(grid2.calculateDistanceFromOrigin({ x: 10, y: 10 }));

运行后结果如下

14.1421356237309517.0710678118654755

本实例结束实践项目地址

https://github.com/durban89/typescript_demo.gittag: 1.1.4
你可能感兴趣的文章
纵观视频监控市场这几个方面值得关注
查看>>
北大访问教授吴霁虹:如何把握AI产业化机遇并建立竞争优势 | CITE 2017
查看>>
LINUX 常用命令整理
查看>>
【云周刊】第134期:阿里云发布ECS企业级产品家族 19款实例族涵盖173个应用场景...
查看>>
iOS 位枚举
查看>>
关注ERP之根,基础数据的准备
查看>>
中兴计划2017年泰国收入实现50%的增长
查看>>
德国禁止Facebook利用WhatsApp用户信息:没法律基础
查看>>
全球太阳能产业掣肘在哪儿?
查看>>
“灾备全生态”全揭秘
查看>>
CSS盒子模型
查看>>
Zeppelin Prefix not found.
查看>>
ubuntu中eclipse安装svn插件问题
查看>>
linux 的网络设置
查看>>
首届“欧亚杯”象翻棋全国团体邀请赛圆满收评!
查看>>
编译tomcat
查看>>
最简单 iText 的 PDF 生成方案(含中文解决方案)HTML 转为 PDF
查看>>
MySql中is NULL、ISNULL()和IFNULL()运行速度的比较
查看>>
关于unichar字符串的初始化
查看>>
oracle-xe手工创建数据库
查看>>