var URIController = {
get href() {
return url.location.href;
}
}
我有上面的对象结构。但是 URIController.href
属性取决于另一个对象 url
。
如果 url
是全局定义的,则 URIController.href
有效。但我想手动将 url
对象传递给 href
getter。
var URIController = {
get href(url) {
return url.location.href;
}
}
更改了 getter 以接受 url 参数但是
URIController.href(url)
抛出错误,因为 href 不是函数。
是否可以在 javascript 中将参数传递给 getter?
原文由 John Bernard 发布,翻译遵循 CC BY-SA 4.0 许可协议
Getters 不需要带括号的显式调用,因此不能接受参数。它们的调用是通过标准属性访问语法隐式调用的,例如
URIController.href
。来自 MDN 上的 getter 文档:
______
如果您需要接受参数,请改用函数:
或者使用 ES6 对象函数简写语法: