javascript - 为什么不使用 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
孩子时{}
,结果是空对象?
解决方案
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);
推荐阅读
- excel - ThisWorkBook.Names().Comment 将引用从 A1 转换为 F1C1
- javascript - 在承诺中失去“这个”的价值
- javascript - 滚动时是否可以动态选择元素 id 并使用 JQuery 更改其颜色?
- python - Power BI 活动日志 REST API 获取访问令牌
- javascript - 意外的 Firestore 集合快照 docChanges() 行为
- python - discord.py 中的多字命令(命令扩展)
- swift - 带有 WKWebView 的模态关闭文本字段焦点
- javascript - 如何阻止或选择不使用 Yarn 安装依赖项?
- html - div-box 两侧的内容和前元素
- javascript - javascript FileAttachment 未定义