typescript 如何在打印脚本中定义唯一数组类型

ss2ws0br  于 2023-01-10  发布在  TypeScript
关注(0)|答案(1)|浏览(122)

我正在寻找类似Set的东西,但可能只使用Array接口进行编译时检查,请考虑以下内容:

const arr = Unique<string[]>['x','y','z']
if(arr.includes('x')){...}

现在我希望TS编译器在这上面出错,比如说,不允许重复的值:

const arr = Unique<string[]>['x','x','z']
 if(arr.includes('x')){...}

你知道吗?

9avjhtql

9avjhtql1#

您可以像这样声明唯一的数组类型:

type UniqueArrType = ["x", "y", "z"];

  const arr: UniqueArrType = ["x", "y", "z"];

如果值不正确,则会出错

type UniqueArrType = ["x", "y", "z"];

  const arr: UniqueArrType = ["y", "y", "z"];
  // Error: Type '"y"' is not assignable to type '"x"'.

相关问题