首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在TypeScript中什么是“好类型”?

在TypeScript中什么是“好类型”?
EN

Stack Overflow用户
提问于 2018-06-10 22:17:58
回答 1查看 255关注 0票数 0

在下面的站点中,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?

EN

回答 1

Stack Overflow用户

发布于 2018-06-10 22:27:17

好吧,下面的例子说明了这一点:

代码语言:javascript
复制
// ./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中一样:

代码语言:javascript
复制
const settings = {
    dry: false,
    debug: false
}

if (settings.dry === 2) { ... }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50784633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档