如何简化import后获取export default返回值并合并对象的代码?
更简洁的实现方式
你可以去掉中间的obj变量,直接在返回的对象中调用x()并展开,代码会更紧凑:
// y.js import x from './x.js'; export default () => ({ ...x(), text2: "text2" })
补充说明
- 如果
x是纯函数(每次调用返回的对象完全一致),这种写法和你原来的缓存方式在性能上没有区别,只是少了一行变量声明,更简洁。 - 如果
x可能根据不同场景返回不同的对象,那这种写法会在每次调用你导出的函数时重新执行x(),而你原来的代码只会执行一次x()并复用结果,这时候需要根据你的业务需求选择对应的写法。
内容的提问来源于stack exchange,提问作者Mojtaba Barari
相关产品推荐
相关产品推荐

