TypeScript 中的 as 关键字
当对象的类型已知但编译器不知道时,可以在这些情况下使用 as
关键字来执行类型断言以将所需的类型与对象相关联。
它是一个 TypeScript 结构,不会影响转编译 JavaScript 代码。
在 TypeScript 中使用 as
关键字转换类型
as
关键字可以转换一个类型,该类型可以是预期类型的更具体或更不具体的版本。
interface User {
name : string
id : number
}
function getUser(){
let username : string = "Geralt";
return {
name : username,
id : 1
};
}
let user = getUser() as User;
通过这种方式,我们强制编译器将 user
对象与 User
类型相关联,以获得更强大的自动完成和建议,从而带来更好的开发体验。
另一个用例是初始化数组或稍后填充的空对象。
let user : User = {} as User;
let userArray : User[] = [] as User[];
如果没有 as
关键字,TypeScript 会抱怨 {}
或 []
不匹配类型或缺少某些属性。
在 TypeScript 的类型谓词中使用 as
关键字
as
关键字在类型谓词中。类型谓词用作无类型对象或具有弱类型的对象的类型保护,例如两个或多个类型的联合。
interface Dog {
bark() : void;
}
interface Cat {
meow() : void;
}
function DogOrCat() : Dog | Cat {
let dog : Dog = {
bark(){
console.log("bark");
}
};
return dog;
}
function isDog( animal : Dog | Cat ) : animal is Dog {
return ( animal as Dog).bark !== undefined;
}
let animal = DogOrCat();
if (isDog(animal)){
(animal as Dog).bark()
}
animal is Dog
用作类型谓词。
这样,as
关键字可以用作类型保护和其他方式,例如 in
键盘。
相关文章
在 TypeScript 中使用 try..catch..finally 处理异常
发布时间:2023/03/19 浏览次数:181 分类:TypeScript
-
本文详细介绍了如何在 TypeScript 中使用 try..catch..finally 进行异常处理,并附有示例。
在 TypeScript 中使用 declare 关键字
发布时间:2023/03/19 浏览次数:97 分类:TypeScript
-
本教程指南通过特定的实现和编码示例深入了解了 TypeScript 中 declare 关键字的用途。
在 TypeScript 中 get 和 set
发布时间:2023/03/19 浏览次数:172 分类:TypeScript
-
本篇文章演示了类的 get 和 set 属性以及如何在 TypeScript 中实现它。
在 TypeScript 中格式化日期和时间
发布时间:2023/03/19 浏览次数:161 分类:TypeScript
-
本教程介绍内置对象 Date() 并讨论在 Typescript 中获取、设置和格式化日期和时间的各种方法。
在 TypeScript 中返回一个 Promise
发布时间:2023/03/19 浏览次数:182 分类:TypeScript
-
本教程讨论如何在 TypeScript 中返回正确的 Promise。这将提供 TypeScript 中 Returns Promise 的完整编码示例,并完整演示每个步骤。
在 TypeScript 中定义函数回调的类型
发布时间:2023/03/19 浏览次数:221 分类:TypeScript
-
本教程说明了在 TypeScript 中为函数回调定义类型的解决方案。为了程序员的方便和方便,实施了不同的编码实践指南。
在 TypeScript 中把 JSON 对象转换为一个类
发布时间:2023/03/19 浏览次数:110 分类:TypeScript
-
本教程演示了如何将 JSON 对象转换为 TypeScript 中的类。
使用 NPM 将 TypeScript 更新到最新版本
发布时间:2023/03/19 浏览次数:130 分类:TypeScript
-
本教程说明了如何使用 npm 更新到最新版本的 TypeScript。这将为如何使用 npm 将 TypeScript 更新到最新版本提供完整的实际示例。
使用 jQuery 和 TypeScript
发布时间:2023/03/19 浏览次数:151 分类:TypeScript
-
本教程提供了使用 jQuery 和 TypeScript 的基本理解和概念。