我有一個陣列
const frequencyOptions = ['Daily', 'Weekly', 'Monthly'];
我需要將 Typescript Type 設定為另一個陣列,該陣列只能包含 options 陣列中的值,例如
let frequencyValues = ['Daily', 'Weekly'] // can be any combination of options array
uj5u.com熱心網友回復:
如果您正在控制選項陣列的創建,您可以:
const frequencyOptions = ['Daily', 'Weekly', 'Monthly'] as const;
type Option = typeof frequencyOptions[number]; // "Daily" | "Weekly" | "Monthly"
let frequencyValues: Option[] = ['Daily', 'Weekly'];
// Expect error
frequencyValues = ['foo'] // Type '"foo"' is not assignable to type '"Daily" | "Weekly" | "Monthly"'.
操場
as const 防止文字型別擴大到string,然后我們查詢元組專案型別。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/342668.html
標籤:javascript 数组 打字稿 类型
上一篇:將值陣列添加到現有陣列
