Ecmascript 6 导出类函数的es6访问器

Ecmascript 6 导出类函数的es6访问器,ecmascript-6,getter-setter,aurelia,Ecmascript 6,Getter Setter,Aurelia,我开始在ES7中使用Aurelia,但我不知道如何在函数需要参数列表时将其公开 这项工作: export class dummy{ get doSomething(){ return "something"; } } dummy.doSomething() 但是,如果我修改函数使其具有参数列表,则会得到一个错误: get doSomething(x){ ... ERR: A 'get' accessor cannot have parameters. 我尝试了很多不

我开始在ES7中使用Aurelia,但我不知道如何在函数需要参数列表时将其公开

这项工作:

export class dummy{
  get doSomething(){
    return "something";
  }
}

dummy.doSomething()
但是,如果我修改函数使其具有参数列表,则会得到一个错误:

get doSomething(x){
    ...
ERR: A 'get' accessor cannot have parameters.
我尝试了很多不起作用的东西,但在谷歌上搜索却一无所获。如何在接受参数并返回值的导出类中声明公共函数


谢谢。

get
。它们的访问方式与普通属性(即非方法)类似:

这就是为什么getter不能有参数

如果您不希望使用该方法,但希望使用方法,请将其删除:

export class dummy{
  doSomething(x){
    return "something";
  }
}
如果您仅将该类用作“方法包”,即您不打算创建它的多个实例,请改用对象:

export var dummy = {
  doSomething(x){
    return "something";
  }
};

es6中假人的一些示例:

dummy.js

export class Dummy{
  get myGetter() {
    return '456'
  }
}

Dummy.doSomething = (x) => {
    return "something";
}
然后


这里没有关于ES7的具体内容。这就是ES6。记住,dummy是一个类,而不是对象的实例。使用
new
关键字创建类的新实例。e、 g.
var instance=new dummy()
然后您可以访问属性
var foo=instance.doSomething
告诉我“doSomething不是函数”您如何尝试调用该方法?
dummy.doSomething()
不起作用,因为该类没有这样的方法。类的实例有:
var instance=new dummy();instance.doSomething()
。或者,正如我所说,使用一个对象来代替。valicheck上面的回答通过import{Dummy}语句显示了我是如何使用它的。不幸的是,他的答案也不起作用。我认为这将是一个简单的答案。洛林现在似乎在工作。我不确定我第一次问这个问题时遗漏了什么,但代码现在看到了。谢谢。:-)在dummy.js中,在底部添加新代码表示“dummy未定义”。如果我把它移到export{}块中,它会说,“这只能在ts文件中使用”。如果我把它和这个.doSomething一起放在导出{}块中。。。上面写着“意外标记”你使用Typescript吗?我的示例适用于带有babel的普通es6 js
export class Dummy{
  get myGetter() {
    return '456'
  }
}

Dummy.doSomething = (x) => {
    return "something";
}
import {Dummy} from 'dummy'
console.log(Dummy.doSomething(123)); // => "something"
let myDummy = new Dummy();
console.log(myDummy.myGetter); // => "456"