为了账号安全,请及时绑定邮箱和手机立即绑定

在嵌套对象中访问类本身的属性和方法(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 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消