【发布时间】:2019-07-03 14:43:29
【问题描述】:
如果我有一个看起来像数组的类型:
type names = ['Mike', 'Jeff', 'Ben'];
我可以很容易地定义另一种类型,它具有 names 中的项目值:
type UserName = names[number]
对于函数:
function hello(name: UserName) {
console.log(`Hello, ${name}!`)
}
我只能将Mike、Jeff、Ben 之一传递给函数hello。如果我给其他值,比如John,它就无法编译。
如果我没有type names,但有一个const 数组 names,该怎么办?
const names = ['Mike', 'Jeff', 'Ben'];
type UserName = ???;
function hello(name: UserName) {
console.log(`Hello, ${name}!`)
}
hello('Mike');
是否可以定义这样的类型UserName?
【问题讨论】:
标签: typescript typescript-typings