as 关键字用法

本文介绍了在TypeScript中,as关键字用于模块导入时的重命名、类型断言以及配合export的使用。通过as,可以避免命名冲突并明确变量或方法的实际类型。类型断言允许开发者指定更具体的类型,尤其是在处理像document.getElementById返回的元素时。尖括号和as语法在类型断言中等效,但在JSX中只能使用as语法。
摘要由CSDN通过智能技术生成

配合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,但您可能知道您的页面将始终具有指定IDHTMLCanvasElement类型。

在这种情况下,您可以使用类型断言来指定更具体的类型:

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 语法

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值