Jus*_*tin 4 javascript function node.js ecmascript-6
哪个是在Node.js中创建模块时使用的更好模式,这些模块具有多个"静态"调用的函数,即不使用new关键字.我缺少ES6中的等价物吗?
模式1.
// math.js
module.exports.add = (x, y) => {
return x + y;
}
module.exports.multiply = (x, y) => {
return x * y;
};
// app.js
const math = require('./math.js');
console.log(math.add(2, 3));
Run Code Online (Sandbox Code Playgroud)
模式2.
// math.js
module.exports = {
add: (x, y) => {
return x + y;
},
multiply: (x, y) => {
return x * y;
}
};
// app.js
const math = require('./math.js');
console.log(math.add(2, 3));
Run Code Online (Sandbox Code Playgroud)
默认情况下module.exports是一个空对象.所以,你的两种模式之间的结果确实没有区别.
您的第一个模式是将一个方法一次添加到默认的空对象.
第二种模式是创建一个新对象,向其添加方法,然后用module.exports新对象替换默认对象.
哪个是在Node.js中创建模块时使用的更好模式,这些模块具有多个"静态"调用的函数,即不使用new关键字.
结果是相同的两种方式,它只是编码样式首选项的问题,您喜欢编写代码的方式.
我缺少ES6中的等价物吗?
ES6并没有真正为此引入任何新内容.您只是定义对象的属性.