javascript - 如何记录仅在 .call() 中使用的函数
问题描述
我有 2 个类以完全相同的方式初始化一些值,所以我想我会创建一个可以像这样使用的辅助函数
const a = new ObjectA();
const b = new ObjectB();
function f() {
this.a.b.c = 10;
};
f.call(a);
f.call(b);
我将如何记录该函数 f 以便它仅用于 ObjectA 和 ObjectB?
在写这篇文章时,我意识到我可以创建一个具有此方法的父对象,然后像往常一样记录它,但在我目前的情况下,我觉得它有点过度设计。
解决方案
你可以使用一个简单的联合类型,结合 @this
,它看起来像这样@this {(ObjectA|ObjectB)}
。正如@VLAZ所说;您可能更喜欢转换为使用参数。
/** @param {(ObjectA|ObjectB)} foo */
function f(foo) {
foo.a.b.c = 10;
};
推荐阅读
- python - 基维。在父方法中引用子
- git - 如何检测所选文件夹和所选文件扩展名中的更改文件?
- soapui - 如何每次在 Soap UI 中使用 groovy 脚本传递动态生成的值(用于 REST API) - 响应在 CDATA 内的 json 中
- c# - Autofac:类型“...”不可分配给服务“...”。
- java - HttpUrlConnection 不显示被调用的java程序抛出的异常
- database - Cassandra DB 中列族的性能
- oracle - Oracle 唯一记录检索
- javascript - 无法在回调中设置角度变量
- sql - 检查存储过程语句的有效性
- angular - Angular 6 - Angular Elements 功能的确切和主要目标是什么?