【问题标题】:class export returning empty object类导出返回空对象
【发布时间】:2017-02-24 06:35:18
【问题描述】:

我有一个使用module.export 导出的错误类。

当我使用const Errors = require('errors.js'); 要求另一个文件中的类然后尝试使用throw Errors.NotImplimented 时,我在throw 的开头收到undefined 错误。

如果我在需要它之后尝试 console.log Errors 类,我会看到一个空对象。

'use strict';

class Errors {
    NotImplimented() {
        return new Error('Not implimented');
    }
    HTTP_500() {
        return new Error('500 Internal Server Error');
    }
    HTTP_404() {
        return new Error('404 Page Not Found');
    }
}

module.export = Errors;

【问题讨论】:

  • 您不应该将class 用于没有实例状态的东西。只需使用普通的对象字面量即可。

标签: javascript es6-class


【解决方案1】:

两个问题。一,不出口。试试module.exports = Errors;

第二,您没有创建类的实例。试试const errors = new Errors();

此外(不是这个问题的情况),由于循环要求,您可能还会得到一个空对象,more here

【讨论】:

  • 一模一样。据我所知,如果您只导出单个变量、对象等,并且您希望导出的项目为默认值,则导出很好。由于所有内容都在错误类中,因此不应更改任何内容。
  • 像调用函数一样调用类会改变一些事情。它必须先被实例化。
猜你喜欢
  • 2020-05-12
  • 1970-01-01
  • 2017-02-26
  • 2015-08-03
  • 2016-11-16
  • 2019-08-18
  • 2022-01-23
  • 2014-09-29
  • 2015-02-11
相关资源
最近更新 更多