首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自执行箭头函数

自执行箭头函数
EN

Stack Overflow用户
提问于 2018-07-18 09:37:43
回答 2查看 757关注 0票数 0

我想知道如何从语法上更改这个自动执行的导出函数:

代码语言:javascript
复制
export default (() => ({
  get items() {
    if (process.env.NODE_ENV === 'test') {
      return { message: 'this is testing' };
    } else {
      return { message: 'this is not testing' };
    }
  },
}))();

转换为使用ES6箭头函数的内容和末尾的导出语句(我猜错了):

代码语言:javascript
复制
const items = (() => {
  if (process.env.NODE_ENV === 'test') {
    return { API_AUTHORITY: 'this is testing' };
  } else {
    return { API_AUTHORITY: 'this is not testing' };
  }
})();

export default items;

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2018-07-18 09:54:01

不需要生命周期-只需导出对象即可:

代码语言:javascript
复制
const obj = {
  get items() {
    if (process.env.NODE_ENV === "test") {
      return { message: "this is testing" };
    } else {
      return { message: "this is not testing" };
    }
  }
};
export default obj;

如果你真的想要一个函数,那么定义它一行,然后你可以在导出的时候执行它,尽管意图不是很清楚:

代码语言:javascript
复制
const fn = () => ({
  get items() {
    if (process.env.NODE_ENV === "test") {
      return { message: "this is testing" };
    } else {
      return { message: "this is not testing" };
    }
  }
});
export default fn();

代码语言:javascript
复制
const fn = // same as above
// ...
const obj = fn();
export default obj;
票数 1
EN

Stack Overflow用户

发布于 2018-07-18 10:07:11

@Li357在评论中提供了答案,这个函数是不必要的:

代码语言:javascript
复制
export default { items: { message: process.env.NODE_ENV === 'test' ? 'this is testing' : 'this is not testing' } }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51392350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档