从Java到TS,我省略了导入类型周围的{...}.

import DiscriminatorMappingData from './DiscriminatorMappingData';

而不是

import {DiscriminatorMappingData} from './DiscriminatorMappingData';

TypeScript - storing a class as a map value?.

我读过文档,不太懂.我只是从中得出,当我只需要一个文件中的一种类型时,我可以省略{}

那么,简单地说,有什么区别呢?

推荐答案

TypeScript规范涵盖了两个import声明之间的差异.根据§11.3.2Import Declarations:

该表格的进口报关单

import d from "mod";

与进口报关单完全相同

import { default as d } from "mod";

因此,在导入作为模块的default实体导出的内容时(使用export default声明,每个模块只能有一个声明),可以省略大括号only.您在import声明中提供的名称将成为该导入实体的别名.

导入其他任何内容时,即使只是一个实体,也需要提供大括号.

TypeScript手册的Default exports部分有几个例子.

Typescript相关问答推荐

为什么当类类型与方法参数类型不兼容时,该函数可以接受类类型

当类型不能undefined时,如何使编译器抛出错误?

TypScript中的算法运算式

返回对象的TypScript构造函数隐式地替换This的值来替换super(.)的任何调用者?

在Angular中,如何在文件上传后清除文件上传文本框

泛型函数类型验证

如何修复正在处理类型但与函数一起使用时不处理的类型脚本类型

如何编写一个类型脚本函数,将一个对象映射(转换)为另一个对象并推断返回类型?

已解决:如何使用值类型限制泛型键?

一个打字类型可以实现一个接口吗?

在类型脚本中创建泛型类型以动态追加属性后缀

具有自引用属性的接口

FatalError:Error TS6046:';--模块分辨率';选项的参数必须是:'; node ';,'; node 16';,'; node

vue-tsc失败,错误引用项目可能无法禁用vue项目上的emit

专用路由组件不能从挂钩推断类型

在Cypress中,是否可以在不标识错误的情况下对元素调用.Click()方法?

TS2739将接口类型变量赋值给具体变量

有没有一种方法可以防止我的组件包在其中安装样式组件'; node 模块中的s目录

如何键入';v型';

断言同级为true或抛出错误的Typescript函数