向 Javascript 类添加算术支持

问题描述

自从使用一些 C# 数学课程以来,我一直在想这个问题。考虑以下类:

class Vector3 {
    constructor(x = 0,y = 0,z = 0) {
        this.x = x;
        this.y = y;
        this.z = z;
    }
}

现在,如果我想创建一个“前向向量”示例,我将创建以下实例:

let fwd = new Vector3(0,.5)

然而,我想知道,在 C# 中这是允许的:fwd * 3,导致以下对象:

fwd.x = 0,fwd.y = 0,fwd.z = 1.5 因为 (x = 0 * 3 = 0,y = 0 * 3 = 0,z = 0.5 * 3 = 1.5).

我目前所知道的唯一可能的方法是向 multiply 的类添加一个函数,或者手动获取每个值并对其进行倍数,即:

fwd.multiply(3)
// or
fwd.x *= 3;
fwd.y *= 3;
fwd.z *= 3;

有没有办法扩展 Javascript 类/函数支持基本的算术函数

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)