142 TypeScript规范称为类型断言之间有什么区别: var circle = <Circle> createShape("circle"); 和较新的 as运算符: var circle = createShape("circle") as Circle; 两者通常都用于编译时转换? casting typescript — mk。 source
167 区别在于as Circle可以在TSX文件中使用,但<Circle>与JSX语法冲突。as因此被引入。 例如,.tsx文件中的以下代码: var circle = <Circle> createShape("circle"); 将导致以下错误: 错误TS17002:“圆”需要相应的JSX结束标记。 但是,as Circle将正常工作。 as Circle从现在开始使用。这是推荐的语法。 — 大卫·谢瑞 source
39 从Wiki页面:“ TypeScript [1.6]的新增功能”: 新的.tsx文件扩展名和as运算符 TypeScript 1.6引入了新的.tsx文件扩展名。此扩展有两件事:在TypeScript文件中启用JSX,并使新as运算符成为默认的转换方式(消除JSX表达式与TypeScript前缀转换运算符之间的任何歧义)。例如: var x = <any> foo; // is equivalent to: var x = foo as any; — 马丁·维斯蒂卡 source