gpt4 book ai didi

javascript - 如何在 ES6 类中声明局部函数?

转载 作者:数据小太阳 更新时间:2023-10-29 04:06:55 27 4
gpt4 key购买 nike

我有一个只能在类内部使用的函数,不希望在类外访问它。

class Auth {
/*@ngInject*/
constructor($http, $cookies, $q, User) {
this.$http = $http;
this.$cookies = $cookies;
this.$q = $q;
this.User = User;

localFunc(); // Need to create this function, and need it to be accessible only inside this class
}
}

到目前为止我所做的是在类外声明函数

function localFunc() {
return 'foo';
}
class Auth {
...
}

但是,这并不好,因为它污染了全局函数,除非我将它包装在 IIFE 中。那么,我是否可以通过某种方式在 ES6 类中创建本地函数?

最佳答案

不,无法在 中声明局部函数。您当然可以声明(静态)辅助方法并使用下划线前缀将它们标记为“私有(private)”,但这可能不是您想要的。您始终可以在方法内部声明局部函数。

但是如果您多次需要它,那么唯一的办法就是将它放在 class 旁边。如果您正在编写脚本,那么像往常一样需要 IEFE。如果您正在编写 ES6 模块(这是首选解决方案),那么隐私是微不足道的:只是不要export 函数。

关于javascript - 如何在 ES6 类中声明局部函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33760162/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com