如何使用打字稿声明具有特定长度的字符串?
Posted
技术标签:
【中文标题】如何使用打字稿声明具有特定长度的字符串?【英文标题】:How do I declare a string that is of a specific length using typescript? 【发布时间】:2018-01-23 17:46:18 【问题描述】:例如,一个只能有两个字符长的字符串,可以用于 ISO 国家/地区代码。
我用谷歌浏览过文档,但找不到答案。
【问题讨论】:
【参考方案1】:您可以使用类型构造函数和幻像类型来实现这一点,这是一些值得学习的有趣技术。你可以看到我对类似问题的回答here
【讨论】:
【参考方案2】:没有办法将字符串长度指定为类型。
如果你有一个有限的国家代码列表,你可以写一个字符串文字类型:
type CountryCode = 'US' | 'CN' | 'CA' | ...(lots of others);
【讨论】:
我想过做类似的事情,但使用npmjs.com/package/country-data,但我决定不这样做,因为考虑到国家代码将从后端 API 返回,这将是矫枉过正。我只是想确保变量不能包含任何明显错误的数据,并认为指定长度很简单。我也考虑过使用数组,但认为这有点令人费解,而且您显然无法为数组指定强制最大长度 (***.com/questions/41139763/…)以上是关于如何使用打字稿声明具有特定长度的字符串?的主要内容,如果未能解决你的问题,请参考以下文章
在 useState 的调度中使用未声明的字段时如何获取打字稿错误