关于typescript中as的用法
在Ant design pro的用户登录文件 src/models/login.ts中看到一条代码let { redirect } = params as { redirect: string };
其中
const params = getPageQuery();
export const getPageQuery = () => parse(window.location.href.split('?')[1]);
不太理解第一条代码什么意义,想请假大家!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
as 是ts里定义类型的意思
let { redirect } = params as { redirect: string };
这里的意思是说params的类型是个object 并且里面有一个redirect的属性是string类型的
let { redirect } = params;
前半段是解构赋值取params.redirectparams as { redirect: string };
后半段是给params定义类型let { redirect } = params;
这是从
params
中取出redirect
的属性和valueas { redirect: string }
as可以理解成当作的意思,就是把params当作
{ redirect: string }
只不过这里规定了
redirect
是string
类型。这是一种约束类型的方式,避免你把
redirect
当成number/boolean
等其他类型来用。