javascript - 没有大括号的 ES6 getter/方法

标签 javascript typescript methods ecmascript-6 getter

我有一些类包含许多简短的 getter/方法。

例子:

get jQuery() {
  return this.pageConfig.jQuery || jQuery;
}

类似内容的箭头函数可以这样写:

() => this.pageConfig.jQuery || jQuery;

这是单行的,因此仅占用 1/3 的垂直空间。

但它既不是 getter 也不是方法。

是否有推荐的以单行形式编写 getters/方法的方法? (如果可能,没有花括号和 return 关键字)

我的 getter 和方法不需要修改对象。他们只是在读书。

最佳答案

对于一个类轮,就用这个:

get jQuery() {return this.pageConfig.jQuery || jQuery;}

箭头函数不适用于方法定义,因为它们使用词法 this,而方法需要对象 this。请记住,虽然箭头函数是一种很好的简写方式,但它们也会以通常与方法定义不兼容的方式影响 this 的值。

关于javascript - 没有大括号的 ES6 getter/方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42540301/

相关文章:

javascript - 将数据拆分为两个 json 文件(一个用于分类结构,另一个用于(原始)数据项)是个好主意吗?

javascript - 通过匹配 Javascript/AngularJS 中的参数来查找对象

node.js - typescript 错误: TS2339:Property 'map' does not exist on type 'string'

typescript - 自定义 Prop 在 typescript 中验证

typescript - 通过泛型在 TypeScript 中将元组转换为对象

ruby-on-rails - 返回 : Creating a method with a parameter

javascript - this.props 适用于一个函数,不适用于另一个 React-Redux

javascript - 将数据从 javascript 文件传递​​到 Nodejs 服务器 - Nodejs

java - 如何在java方法中利用用户输入?

java - 如何在 Long 方法中返回 a 和 b 相加的结果?