为什么在打字稿中有2种不同的转换语法?

基斯巴尔

据我所知,Typescript中有2种类型的语法要转换。

  1. 只是使用<>投射

    const a = <A>b;
    
  2. 使用as语句进行转换

    const a = b as A;
    

我猜生成的代码1或2是完全相同的。而且,as当我开始使用Typescript时,没有这样的语法可以使用statement。我猜as是打字稿中的新语法。

但是,应该有某种理由可以使用新的语法。他们为什么需要这些语法?如果只有1个强制转换语法,会有什么不便之处吗?

DAXaholic

如上所述这里

最初添加的语法是<foo>
...

但是,<foo>在JSX中使用样式断言时,语言语法存在歧义

var foo = <string>bar;
</string>

因此,现在建议您只是as foo为了保持一致性而使用

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么没有在打字稿中分配值?

* .d.ts和* .ts在打字稿中有什么区别?

在打字稿中,这两种索引签名类型有什么区别?

交叉接口在打字稿中有效嗎?

为什么我在打字稿中没有收到有关StrictNullChecks的警告

在打字稿中导入库的不同方式有什么区别?

为什么在Java中有两种不同的for循环?

为什么在打字稿中的const中使用$ {

为什么方法参数在打字稿中不矛盾

为什么此代码无法在打字稿中编译?

在打字稿中扩展___ = ___语法

在打字稿中排序不同的数组

如何在打字稿转换中引发语法错误?

如何在打字稿中有意定义“空接口”

如何在打字稿中有条件地设置函数参数类型?

为什么颜色的Xcode 11属性选择器在缩略图中有2种不同的颜色?

有没有办法在打字稿中描述一种“ keyfor”?

如何在打字稿中使用带有es6导入语法的节点模块

在打字稿中具有两种可能类型的函数参数

为什么在C中有两种初始化指针的不同方法

为什么不能使用函数断言在打字稿中var不为null

为什么在打字稿中使用“ any”会丢失强类型?

为什么可以在打字稿中为“接口”分配“功能”?

为什么我不能在打字稿中从`export default {}``import {}`

为什么我可以在打字稿中为文字对象分配未知属性?

为什么闭包会在打字稿中忽略类型保护?

为什么对象数组中的过滤器在打字稿中不起作用

为什么我无法在打字稿中访问子属性?

为什么这个传递的函数在打字稿中给我一个错误?