TypeScript 的 import() typeof json

标签 typescript react-native

我有一个 json 文件,我不想将其包含在运行时代码中,我只想提取该文件的 key 并检查函数输入的类型

我发现 typescript 在这里有导入类型https://davidea.st/articles/typescript-2-9-import-types

我尝试了一下,它可以用于类型检查

但我现在很困惑,这个解决方案也适用于 json 吗? 我根本不想在运行时代码中加载 json。

我使用react-native

我的示例代码

function(key: keyof typeof import('jsonfile.json'))
{

}

最佳答案

根据定义,类型注释在代码编译为 Javascript 时会被删除。任何导入类型只能在类型注释中使用,因此它将在编译后被删除。

您可以通过检查输出的 JS 来自行检查:

// TS
function fn (key: keyof typeof import('jsonfile.json'))
{

}
// JS
function fn(key) {
}

Play

关于TypeScript 的 import() typeof json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57515306/

相关文章:

angular - 具有 Angular 6.0.0 和 rxjs 6.1.0 的 Observable<Object> 上不存在 map

ios - 异步函数运行(){ ^^^^^^^^ SyntaxError : Unexpected token function

javascript - React Native 中的文本字符串必须在 <Text> 组件中渲染

react-native - 在 React Native 中使用密码类型时,文本输入占位符不支持 RTL

IOS 模拟器:JavaScriptCoreWTF::CrashOnOverflow::crash:

javascript - 在 index、js 和 app.js 中 react native 错误

使用应存在属性的类型时,类型上不存在 Typescript 属性

javascript - Typescript find 无法识别返回的类型

angular - 如何在 Angular/TypeScript 中组合两个 URLSearchParams?

angular - 拥有一个自定义类型有什么好处,它只是另一个自定义类型对象的数组