Javascript 导出函数范围定义混淆es6
我在导出时遇到了这两种语法。说我有一个文件叫actions.js和app.js 第一个看起来像这样 在actions.js中Javascript 导出函数范围定义混淆es6,javascript,reactjs,ecmascript-6,Javascript,Reactjs,Ecmascript 6,我在导出时遇到了这两种语法。说我有一个文件叫actions.js和app.js 第一个看起来像这样 在actions.js中 export function addTodo() {} export function deleteTodo() {} and in app.js I have import { addTodo, deleteTodo } from './actions.js' addTodo() //call method 第二种方式是将每个函数包装到一个对象 in action
export function addTodo() {}
export function deleteTodo() {}
and in app.js I have
import { addTodo, deleteTodo } from './actions.js'
addTodo() //call method
第二种方式是将每个函数包装到一个对象
in action.js
const actions = {
addTodo: function() {}
delete: function() {}
}
export default actions
在app.js中
import actions from './actions'
actions.addTodo() // call method
他们两个做同样的事?使用这两种方法有什么区别吗?我更喜欢第一个,因为我可以从actions.js导入指定的函数。使用方法1是否存在任何范围泄漏?您的偏好是什么?这两种样式之间的主要区别在于,第一种样式仍然可以有默认导出。您还可以使用和。第二种样式的所有其他导出都需要命名