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

TypeScript中无其他可用对象时如何返回默认对象?现有写法是否可行?

代码正确性判定

你写的写法完全符合需求,是正确的。

JavaScript 对象展开运算符...的规则是后展开的对象的同名属性会覆盖先展开的对象的属性,你给出的代码执行顺序为:

  • 先展开默认对象defaultPathAttributes,作为初始属性基础
  • 再展开parentTreeNode?.pathAttributesSelection,其中的同名属性会覆盖默认对象的对应属性
  • 最后展开layerTreeNode?.pathAttributesSelection,其中的同名属性会覆盖前面两个对象的对应属性

同时你用到的可选链?.可以兼容parentTreeNode/layerTreeNode为undefined/null的场景,对应位置如果取值为空,展开操作不会新增任何属性也不会报错,刚好匹配你“对应层级属性不存在就取前一层级属性”的逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 06:27:01