如何解决为什么只读只能用于数组和元组类型?
为什么我不能像为数组/元组引用那样为对象返回只读类型?
async function getUsersByName (name: string): readonly User[] {
return db.User.query(name);
}
以上内容强制调用者对声明的类型使用只读。
const users: User[] = await getUsersByName("foo"); // error
const users: readonly User[] = await getUsersByName("foo"); // correct
如果我尝试对对象类型使用只读,则会引发错误,指出只能在数组/元组上使用。
async function getUserByName (name: string): readonly User { // error
return db.User.query(name);
}
为什么在这种情况下我不能使用只读?我不想使用Readonly<T>
,因为它不会强制调用方将其视为Readonly类型,这对我来说毫无意义。
async function getUserByName (name: string): Readonly<User> {
return db.User.query(name);
}
const user: User = await getUserByName("bar"); // correct
const user: Readonly<User> = await getUserByName("bar"); // correct
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。