首页 > 解决方案 > 为什么不使用 get/set 修改对象?

问题描述

有一个items: number[]as [1,2,3]

还有一个rootNode对象:

class Tree {
   get rootNode(): any {
    return {
      parent: null,
      children: [],
    }
  }
}

let tree = new Tree();
tree.rootNode.children = [1,2,3];
console.log(tree);

为什么当我分配给rootNode孩子时{},结果是空对象?

标签: javascripttypescript

解决方案


setter如果你真的想要set这个值,你需要定义你的。

class RootNode {
  get children() {
    return this._children;
  }
  
  set children(val) {
    this._children = val;
  }
}

class Tree {
  constructor() {
    this.rootNode = new RootNode();
  }
}

let tree = new Tree();
tree.rootNode.children = [1, 2, 3];
console.log(tree);


推荐阅读