JavaScript类方法实现隐式返回的现代写法有哪些?
解决方案
可以通过ES2022标准支持的公共类字段搭配箭头函数的隐式返回特性实现,写法如下:
class AuthService { // 箭头函数赋值为类字段,省略大括号和return实现隐式返回 loginWithEmailAndPassword = (email, password) => apolloClient.mutate({}) } export default new AuthService();
注意事项
- 该写法下
loginWithEmailAndPassword是挂载在每个类实例上的属性,而非原型链上的公共方法,如果你需要批量创建大量AuthService实例会额外占用少许内存,你当前场景是导出单例实例,不存在该问题。 - 箭头函数的
this会固定绑定到类实例,无法通过call/apply/bind修改指向,如果你的业务场景不需要动态修改该方法的this指向,该写法完全符合现代JavaScript语法规范,是当前前端开发中非常常用的写法。
内容的提问来源于stack exchange,提问作者John Smith
相关产品推荐
相关产品推荐

