Qual è il valore di this
in una funzione importata, che viene chiamata da uno spazio dei nomi ? (Secondo le specifiche ECMA)Importazione spazio dei nomi ES6: comportamento di "questo"
// module.js
export function fun() {
return this;
}
// main.js
import * as module from "./module.js";
let x = module.fun(); // What's the value of x here?
La mia ipotesi è: E 'l'oggetto module
, ma non ho trovato una risposta chiara a questa nelle specifiche. Il comportamento normale si applica qui o c'è qualcosa di speciale nei moduli ES6 per le importazioni dello spazio dei nomi?
In Babel restituisce effettivamente l'oggetto 'module', tuttavia non so cosa dice la specifica a riguardo. –
Ricorda che 'this' è una proprietà del contesto di esecuzione e non dell'oggetto stesso. – Kashif