¿Está garantizado que export default new object() , donde el objeto es algún tipo de tipo (por ejemplo, Fecha), devuelve el mismo objeto todo el tiempo?
// date.js export default new Date() // foo.js import date from './date' // bar.js import date from './date' ¿Se puede esperar que la date en foo.js y la date en bar.js sean equivalentes? Entonces, ¿ import date from './date' es un singleton?
¿Sería la export default new Date() anterior equivalente a module.exports = new Date() para la era anterior a es6?
Sí, siempre será el mismo objeto. En cualquier ejecución dada de un script, puede asumir que el nivel superior de un archivo, por ejemplo:
// date.js export default new Date() se ejecutará exactamente una vez , y no más, si el archivo se importa. Las importaciones adicionales de ese archivo darán como resultado que las exportaciones de date.js sean importables, pero no ejecutarán date.js nuevamente.