在下面的站点中,JSON2.9支持定义良好的TypeScript。
https://blogs.msdn.microsoft.com/typescript/2018/05/31/announcing-typescript-2-9/#json-imports
“类型良好”的JSON是什么意思?据我所知,JSON有6种有效的数据类型:字符串、数字、对象、数组、布尔值和null。因此,我认为每种JSON数据类型都是类型良好的,或者与TypeScript基本类型匹配良好。这就是为什么我搞不懂“良好类型”的确切含义。
相反,什么是“非良好类型”的json?
发布于 2018-06-10 22:27:17
好吧,下面的例子说明了这一点:
// ./src/settings.json
{
"dry": false,
"debug": false
}
// ./src/foo.ts
import settings from "./settings.json";
settings.debug === true; // Okay
settings.dry === 2; // Error! Can't compare a `boolean` and `number`因为任何JSON属性都可以是任何JSON类型,所以您可能认为比较settings.dry === 2不会导致任何编译错误。它只会在运行时失败。
但它实际上会发出一个编译时错误,因为TypeScript会从JSON中推断出类型,从而防止您做一些愚蠢的事情,比如将布尔变量与数字进行比较:这是没有意义的。
就像你在你的TypeScript中一样:
const settings = {
dry: false,
debug: false
}
if (settings.dry === 2) { ... }https://stackoverflow.com/questions/50784633
复制相似问题