《TypeScript实战指南》—3.2.6 类函数和静态属性

举报
华章计算机 发表于 2019/06/16 13:23:22 2019/06/16
【摘要】 本节书摘来自华章计算机《TypeScript实战指南》一书中的第3章,第3.2.6节,作者是胡桓铭。

3.2.6 类函数和静态属性

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

class Grid {

    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;

    }

    constructor (public scale: number) { }

}

 

let grid1 = new Grid(1.0);  // 1x scale

let grid2 = new Grid(5.0);  // 5x scale

 

console.log(grid1.calculateDistanceFromOrigin({x: 10, y: 10}));

console.log(grid2.calculateDistanceFromOrigin({x: 10, y: 10}));


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。