Ecmascript 6 导出类函数的es6访问器
我开始在ES7中使用Aurelia,但我不知道如何在函数需要参数列表时将其公开 这项工作: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. 我尝试了很多不
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"