Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用ES6类而不是常量并将其导出_Javascript_Ecmascript 6_Es6 Class - Fatal编程技术网

Javascript 使用ES6类而不是常量并将其导出

Javascript 使用ES6类而不是常量并将其导出,javascript,ecmascript-6,es6-class,Javascript,Ecmascript 6,Es6 Class,我对ES6中的类编码有点困惑。假设我想创建一个类似于JS的简单库。我在my library.js中创建了这样一个模块: const $ = (...args) => { if (typeof args[0] === 'function') { const docReadyFn = args[0]; document.addEventListener('DOMContentLoaded', docReadyFn); } } module.exports = $

我对ES6中的类编码有点困惑。假设我想创建一个类似于JS的简单库。我在my library.js中创建了这样一个模块:

const $ = (...args) => {
    if (typeof args[0] === 'function') {
    const docReadyFn = args[0];

    document.addEventListener('DOMContentLoaded', docReadyFn);
  }
}

module.exports = $;
然后我需要index.js中的此文件:

const $ = require('./library');

module.exports = $;
并在另一个文件中使用它:

const $ = require('./library');

$(() => {
    console.log('DOM ready!');
});
但是,我不想做
const$=(…args)=>{…}
而是想创建一个具有如下构造函数的类:

class Library {
    constructor(...args) {
        if (typeof args[0] === 'function') {
            const docReadyFn = args[0];

            document.addEventListener('DOMContentLoaded', docReadyFn);
        }
    }
}

module.exports = Library;

这样做明智吗?对于类,我必须使用
newlibrary(args)
创建一个新实例,但是通过导出
const$=(…args)=>{…}
我可以简单地使用
$
,而不做任何事情。没有新的实例或任何东西。如何使用类实现与创建常量并导出并立即使用它相同的功能?

a
class
必须始终使用
new
调用,并将创建一个新实例。

您的
$
函数不创建对象-它不应该是

必须始终使用
new
调用
,并将创建一个新实例。

$
函数不创建对象-它不应该是

类不是对象function@LawrenceCherone有没有一种方法可以使用类来实现这样的功能?我认为类更好,使代码更有条理。module.exports=(…args)=>newlibrary(…args);一门课不是一门课function@LawrenceCherone有没有一种方法可以使用类来实现这样的功能?我认为类更好,使代码更有条理。module.exports=(…args)=>newlibrary(…args);