javascript - 导出默认新对象
问题描述
是否保证export default new object()
在对象是某种类型(例如日期)的情况下始终返回相同的对象?
// date.js
export default new Date()
// foo.js
import date from './date'
// bar.js
import date from './date'
是否可以预期date
infoo.js
和date
inbar.js
是等价的。那么import date from './date'
单例呢?
以上export default new Date()
是否等同于module.exports = new Date()
es6 之前的时代?
解决方案
是的,它将永远是同一个对象。在任何给定的脚本运行中,您可以假设文件的顶层,例如:
// date.js
export default new Date()
如果文件被导入,将只运行一次,不再运行。该文件的进一步导入将导致date.js
的导出可导入,但不会date.js
再次运行。
推荐阅读
- c# - C# 在我的代码中遇到第 7 行的问题
- python - matplotlib.widgets.Slider 带直方图
- c++ - 我的程序不想在 DLL 调用后写入文本文件
- c# - 通过 API Revit 检查文件是否存在
- pandas - AttributeError:模块“numba”没有属性“targets”
- mongodb - 猫鼬查询计数并返回一些结果列表
- python - ValueError:无法将输入数组从形状(20,2)广播到形状(20)
- java - @Value 处的默认值为 Duration
- python-3.x - 在 NetworkX 中重现相同的图形
- c# - 使用 Newtonsoft.Json 反序列化未定义的值