mk.*_*mk. 5 javascript typescript ecmascript-6
如果我们指定默认导出:
export class Foo {}
export default Foo;
Run Code Online (Sandbox Code Playgroud)
然后我们可以在导入期间省略花括号(如本答案中所述):
import { Foo } from "foo"; // becomes:
import Foo from "foo";
Run Code Online (Sandbox Code Playgroud)
那很好,但是在特殊情况下是否有任何非风格的理由偏爱另一个?例如,是否存在某些约定,或者某些约定与某些工具不兼容,或者是否具有不同的含义?
(基于这个讨论和其他人,我的理解是,export default可能已经出现了一种处理单个主要对象(如$)的导出的方法,现在由import * as foo from "foo"它处理.此外,似乎默认导入语法不强制执行naming(import fooAlias from "foo"),而标准导入import { fooAlias } from "foo"将是一个编译错误,除非别名是explicit(Foo as fooAlias).除此之外,我还没有找到关于何时应该使用其中一个的详细信息.)
导出默认值可以允许您在导入时重命名文件,以便...
foo.js
export default class Foo{
constructor(){
}
}
Run Code Online (Sandbox Code Playgroud)
可以import Bar from './foo';位于另一个文件中,如果您正在使用库并且已经定义了类 Foo,这可能会很有用。
您还可以导出默认值和非默认值,以便:
import Foo, { someVariable, someMethod } from './foo';
| 归档时间: |
|
| 查看次数: |
407 次 |
| 最近记录: |