ide*_*xer 5 javascript methods getter typescript ecmascript-6
我有一些由许多简短的 getter/方法组成的课程。
例子:
get jQuery() {
return this.pageConfig.jQuery || jQuery;
}
Run Code Online (Sandbox Code Playgroud)
一个内容相似的箭头函数可以写成这样:
() => this.pageConfig.jQuery || jQuery;
Run Code Online (Sandbox Code Playgroud)
这是一个单线,因此仅占用垂直空间的 1/3。
但它既不是 getter 也不是方法。
是否有推荐的以单行形式编写吸气剂/方法的方法?(如果可能,没有大括号和return关键字)
我的 getter 和方法不需要修改对象。他们只是在读书。
对于单衬,只需这样做:
get jQuery() {return this.pageConfig.jQuery || jQuery;}
Run Code Online (Sandbox Code Playgroud)
箭头函数不适用于方法定义,因为它们使用词法this,而方法需要对象this。this请记住,虽然箭头函数是一个很好的简写,但它们也会以通常与方法定义不兼容的方式影响 的值。
ide*_*xer -2
不错的单行解决方案:
readonly jQuery = this.pageConfig.jQuery || jQuery
Run Code Online (Sandbox Code Playgroud)
它很短,其行为就像您期望的吸气剂一样,并且不需要花括号。