在嵌套对象中访问类本身的属性和方法(JavaScript/TypeScript)
ChatGPT 和 DALLE 3
由于输入中没有提供源文本和翻译内容供分析,因此无法进行审查并提出建议。请提供文本以便我审核并提供意见。
根据专家建议,这里没有具体的源文本和翻译文本可以编辑,所以输出保持为空。
请注意:免责声明。
我不是很确定这是否是最好的方案。如果你知道更好的方案,请在评论中分享你的想法,告诉我为什么你认为有更好的方案。
由于没有提供源文本和翻译内容,无法进行审校和提出建议。请提供需要审校的必要文本,以便继续进行。
请注意,以上内容不是翻译,而是对现有情况的描述。请提供源文本和翻译内容以供审校。
小目标我们用一些代码来明确我们的目标,怎么样?
假设我们有一个类,其中有一个对象,其值是一个函数。这个函数需要访问该类内的属性,如下。
class MyClass {
name: string = "itsuki"
age: number = 100000
nested = {
"add": function (n: number) {
this.age = this.age + n
}
}
}
——这不是一个很好的例子,但你可以把 add
函数拿出来。将就一下我的话吧!
这段代码根本编译不过去(假设编译器正常)!
当然,在这个函数里,this
指向 nested
对象。
在这篇文章中,我们来看看如何访问类中的属性,在这种情况下是age
属性,从嵌套函数中的对象。
在嵌套对象中保持对主类的引用。
class 我的类 {
名字: string = "itsuki"
年龄: number = 100000
嵌套 = {
"self": this as 我的类,
"add": function (n: number) {
this.嵌套.self.年龄 = this.嵌套.self.年龄 + n
}
}
}
我们就可以像上面提到的 add
函数那样,通过这样的引用访问主类里的属性。
如果我们试一下,在调用嵌套函数之后的话,应该会看到 age
成功递增。
const myClass = new MyClass();
console.log(myClass.age) // 100000 // 输出 myClass.age 的值,此时为 100000
myClass.nested.add(5)
console.log(myClass.age) // 100005 // 输出 myClass.age 的值,此时为 100005
(这里的年龄单位是啥意思啊?是指年还是月啊?我不知道啊……)
谢谢大家的阅读!
就这样,这篇超级短的文章就到这里啦!
幸福地安家!
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦