没有名字"export default {}"是什么意思



我发现react本机模块的代码如下:

export default {
activateWithApiKey(apiKey: string) {
AppMetrica.activateWithApiKey(apiKey);
},
};

奇怪的是,"导出默认值"并没有名称。谷歌搜索的所有示例都有"导出默认SomeName"。有人知道没有名字的"导出默认值"是什么意思吗?谢谢你的帮助。

参考默认导出语法:

// Default exports
export default expression;
export default function (…) { … } // also class, function*
export default function name1(…) { … } // also class, function*
export { name1 as default, … };

如您所见,可以为函数、类、函数*指定name(例如export default class Component(。

当您需要在当前模块中进一步导出函数时,通常会使用此选项。请注意,如果为export default指定了名称,则在导入过程中仍然可以使用其他名称。例如,功能被导出,可以在当前模块中进一步使用:

// module-a.js
export default function originalName() { console.log('i am default') };
originalName();
// module-b.js
import someAnotherName from './module-a.js'

回答您的问题

有人知道吗"导出默认值";没有名字意味着什么?

export default expression;表示expression名称可能在导出阶段丢失:

// module-a.js
export default {
activateWithApiKey(apiKey: string) {
AppMetrica.activateWithApiKey(apiKey);
},
};
// module-b.js
import anyName from './module-a.js' 
// creates local variable `anyName` and assigns object from 'module-a.js` to it

我想说,尽量简短直接。

export default SomeName中指定名称时,导入时必须使用SomeName作为变量的名称。但是,如果只编写export default { //some code },那么在进行导入时,可以为包含导出对象的变量使用任何名称。

最新更新