3

是否保证export default new object()在对象是某种类型(例如日期)的情况下始终返回相同的对象?

// date.js
export default new Date()
// foo.js
import date from './date'
// bar.js
import date from './date'

是否可以预期dateinfoo.jsdateinbar.js是等价的。那么import date from './date'单例呢?

以上export default new Date()是否等同于module.exports = new Date()es6 之前的时代?

4

1 回答 1

4

是的,它将永远是同一个对象。在任何给定的脚本运行中,您可以假设文件的顶层,例如:

// date.js
export default new Date()

如果文件被导入,将只运行一次,不再运行。该文件的进一步导入将导致date.js的导出可导入,但不会date.js再次运行。

于 2021-03-01T17:54:13.227 回答