gpt4 book ai didi

TypeScript - import ... 和 import {...} 之间的区别(带花括号)

转载 作者:搜寻专家 更新时间:2023-10-30 20:29:23 24 4
gpt4 key购买 nike

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

import DiscriminatorMappingData from './DiscriminatorMappingData';

代替

import {DiscriminatorMappingData} from './DiscriminatorMappingData';

参见 TypeScript - storing a class as a map value? .

我已经阅读了文档,但了解不多。我只是从中了解到,当我只需要文件中的一种类型时,我可以省略 {}
但是,这会导致奇怪的错误,例如“未知名称”或意外的类型不兼容。

那么,简而言之,有什么区别?

最佳答案

您的两个 import 声明之间的区别包含在 TypeScript 规范中。来自§11.3.2,Import Declarations :

An import declaration of the form

import d from "mod";

is exactly equivalent to the import declaration

import { default as d } from "mod";

因此,当您导入作为模块的 default 实体导出的内容(使用 export default 声明,其中每个模块只能有一个)。您在 import 声明中提供的名称将成为该导入实体的别名。

当导入其他任何东西时,即使它只是一个实体,您也需要提供大括号。

Default exports TypeScript 手册的部分有一些示例。

关于TypeScript - import ... 和 import {...} 之间的区别(带花括号),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38729486/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com