小编典典

类型断言和 TypeScript 中较新的 `as` 运算符之间有什么区别?

all

TypeScript 规范所称的类型断言有什么区别:

var circle = <Circle> createShape("circle");

较新 as的运营商:

var circle = createShape("circle") as Circle;

这两者通常用于编译时转换?


阅读 64

收藏
2022-08-03

共1个答案

小编典典

不同之处在于它as Circle适用于 TSX 文件,但<Circle>与 JSX 语法冲突。as为此而推出。

例如,.tsx文件中的以下代码:

var circle = <Circle> createShape("circle");

将导致以下错误:

错误 TS17002:“Circle”需要对应的 JSX 结束标记。

但是,as Circle会工作得很好。

从现在开始使用as Circle。这是推荐的语法。

2022-08-03