配合export使用
有时候想把一些插件导出,或者不想直接暴露方法、变量名称,那就可以通过as 重命名。
// xxx.js 代码如下:
const identity = () => { }
export { identity as myIdentity }
// dayjs 插件
export { default as myDayjs } from 'dayjs'
// util 是一个对象
export * as util from './utils'
在页面中引用上面方法:
// util 对象
import { myIdentity, myDayjs, util } from 'xxxx'
配合import使用
在页面中使用import导入方法的时候,有时候可能会跟你页面自己的定义的方法或变量名相同,那这时候就可以用as重命名。
// xxx.js 代码如下:
export const num: number = 1
export const arr: number[] = [1,2,3]
在页面中使用:
import { num as myNum, arr as myArr } from 'xxxx'
在TypeScript中使用,as 类型断言
有时候你会遇到这样的情况,你会比TypeScript更了解某个值的详细信息。 通常这会发生在你清楚地知道一个实体具有比它现有类型更确切的类型。
例如,如果您使用document.getElementById,TypeScript 只知道这将返回某种类型的HTMLElement,但您可能知道您的页面将始终具有指定ID的HTMLCanvasElement类型。
在这种情况下,您可以使用类型断言来指定更具体的类型:
const myCanvas = document.getElementById("main_canvas") as HTMLCanvasElement;
类型断言好比其它语言里的类型转换,但是不进行特殊的数据检查和解构。
类型断言有两种形式:
1、 “尖括号” 语法
let someValue: any = "this is a string";
let strLength: number = (<string>someValue).length;
2、as 语法
let someValue: any = "this is a string";
let strLength: number = (someValue as string).length;
ps:两种形式是等价的,当你在TypeScript里使用JSX时,只有 as 语法断言是被允许的。 所以这里建议使用 as 语法
本文介绍了在TypeScript中,as关键字用于模块导入时的重命名、类型断言以及配合export的使用。通过as,可以避免命名冲突并明确变量或方法的实际类型。类型断言允许开发者指定更具体的类型,尤其是在处理像document.getElementById返回的元素时。尖括号和as语法在类型断言中等效,但在JSX中只能使用as语法。
1069

被折叠的 条评论
为什么被折叠?



