bricks/docs/cn/myoperator.md
2025-10-12 17:59:59 +08:00

2.9 KiB
Raw Blame History

Oper 类技术文档

概述

Oper 是一个用于封装数值并支持自定义加法操作的 JavaScript 类。通过该类,可以创建包含数值的对象,并使用内置的方法执行对象间的加法运算。

注意:该类中定义了两个功能几乎相同的加法方法 __plus____add__,可能是为了兼容不同命名习惯或未来扩展预留。


构造函数

constructor(v)

初始化一个 Oper 实例,将传入的值保存在 value 属性中。

参数

参数 类型 说明
v number 初始化的数值

示例

const a = new Oper(5);
console.log(a.value); // 输出: 5

方法

__plus__(a, b)

执行两个 Oper 对象的加法操作,返回一个新的 Oper 实例,其值为两个操作数 value 属性之和。该方法会输出两个操作数到控制台。

参数

参数 类型 说明
a Oper 第一个操作数
b Oper 第二个操作数

返回值

  • 类型:Oper
  • 说明:一个新的 Oper 实例,其 valuea.value + b.value

示例

const x = new Oper(3);
const y = new Oper(7);
const result = new Oper().__plus__(x, y);
// 控制台输出: Oper { value: 3 }, Oper { value: 7 }
console.log(result.value); // 输出: 10

__add__(a, b)

__plus__ 功能完全相同,执行两个 Oper 对象的加法操作并返回新实例,同时打印操作数到控制台。

参数

参数 类型 说明
a Oper 第一个操作数
b Oper 第二个操作数

返回值

  • 类型:Oper
  • 说明:一个新的 Oper 实例,其 valuea.value + b.value

示例

const m = new Oper(4);
const n = new Oper(6);
const sum = new Oper().__add__(m, n);
// 控制台输出: Oper { value: 4 }, Oper { value: 6 }
console.log(sum.value); // 输出: 10

注意事项

  1. 所有方法均为实例方法,调用时需要先创建 Oper 实例。
  2. __plus____add__ 行为一致,可能存在冗余,建议根据实际需求保留其一或用于不同语义场景。
  3. 当前实现未做类型检查,若传入非 Oper 实例或 value 非数字,可能导致运行时错误。
  4. 方法设计为静态操作风格(接受两个操作数),而非基于当前实例的 this.value 进行计算,这可能与常规面向对象设计不符,使用时需注意。

建议改进

// 改进建议:基于实例的加法
class Oper {
  constructor(v) {
    this.value = v;
  }

  add(other) {
    return new Oper(this.value + other.value);
  }
}

// 使用方式更自然
const a = new Oper(5);
const b = new Oper(3);
const c = a.add(b);
console.log(c.value); // 8

版本信息

  • 语言JavaScript (ES6+)
  • 兼容性:现代浏览器及 Node.js 环境