私が以前の投稿と記事から得たことは、エクスポートオブジェクトがglobal
オブジェクトにあることです。私は私を混同している、このコードに出くわした:NodeJSのvar exports = module.exports = {}
let blue = 'blue'
let red = 'red'
var exports = module.exports = {
red,
blue
};
このコードは、その後、エクスポートされるオブジェクトに設定されますexports
という変数にmodule.exports
を設定します。
私はこの構文によりしかし混乱しています:
例1:正確にこの作業を行いどのよう
var exports = module.exports = {}
?通常JSでは、変数を2回assingすることはできません。例えば、これはエラーを与える:
例2:例2のコードはありませんしながら、
let foo = 5 = 4;
はどのように例1のコードは、エラーを与えていないのでしょうか?
let foo = (5 = 4);
そして5
は変数ではないので、あなたはそれにコンテンツを割り当てるカント:その右から左に解析された原因
これは 'exports =(module.exports = {});'です。これは、オブジェクトリテラルから作成されたオブジェクトを両方のターゲットに割り当てます。 – Bergi