You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript/JavaScript array.find()返回值及对象引用问题咨询

TypeScript类实例引用问题解析

你的代码:

const addressFound: AddressPrimary = <AddressPrimary>(this.addressArray.find(addr => addr.id === id));

问题解答:

  • addressFound存储的内容
    它存储的是this.addressArray中第一个满足addr.id === id条件的AddressPrimary类实例对象。这里的<AddressPrimary>是TypeScript的类型断言,仅用于告诉编译器该值的类型为AddressPrimary,不会改变运行时的实际值。

  • 是否指向类实例的引用
    是的,它存储的是该类实例的内存引用地址。在JavaScript/TypeScript中,类实例属于引用类型,从数组中取出实例赋值给变量时,变量不会创建实例的副本,而是直接持有指向原实例的引用。

现象解释

你后续修改myAddress.id = 7时,addressArray中对应实例的id同步变化,核心原因是myAddress、addressFound和数组内的目标实例,全部指向内存中的同一个对象。修改任意一个引用指向的对象属性,都会直接修改原对象,所有关联的引用都会同步看到这个变化。

内容的提问来源于stack exchange,提问作者Moshik Amit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 18:42:01