gpt4 book ai didi

javascript - typescript - 创建表示偶数集的类型

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

谁知道如何创建这种类型?如果 'evenNumbers' 是类型的名称,我想要例如:

let a:evenNumbers = 3

将返回错误并且

let a:evenNumbers = 4

不会。

谢谢。

最佳答案

您可以指定哪些数字对给定类型有效。

例如

type EvenNumber= 2 | 4 | 6 | 8;

let foo: EvenNumber= 8;
let bar: EvenNumber= 9; // ERROR: 9 isn't even
let baz: EvenNumber= 10; // ERROR: 10 is even, but it isn't defined as part of the Even type.

Typescript Playground

这很好,但如您所见,我已经指出了这种方法的问题。

虽然 10 是偶数,但它仍然会出错,因为它没有被定义为 EvenNumber 类型的一部分。

因此您可以将EvenNumber 重新定义为type EvenNumber= 2 | 4 | 6 | 8 | 10;

太棒了!现在 let baz: Even = 10; 可以工作,但是 let baz: Even = 12; 呢?

因此您必须找到一种方法来列出类型定义的每个偶数。这可能最好使用一些代码生成工具来完成,而不是手工完成!

好了,我们现在有了一个只允许偶数的类型定义。不幸的是,它所在的文件现在必须非常大,并且可能会给编译器和 IDE 带来问题!

这是否回答了问题?是的!

这在现实世界中真的可用吗?甚至还差得远。

关于javascript - typescript - 创建表示偶数集的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43183302/

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