为什么在打字稿中有两种不同的铸造语法?

时间:2016-08-13 04:52:52

标签: typescript casting type-assertion

只要我知道,在Typescript中有两种类型的语法。

  1. 只需使用>const a = <A>b; 投射

    as
  2. 使用const a = b as A; 语句投射

    as
  3. 我猜生成的代码1或2是完全相同的。 并且,当我开始使用Typescript时,没有这样的语法来使用as语句。我猜Locale currentLocale = new Locale("en", "US"); SimpleDateFormat sdf = new SimpleDatFormat("EEE MMM dd", currentLocale); 是打字稿中的新语法。

    但是,应该有一些理由来制作新的语法。为什么他们需要这些语法?如果只有一个演员语法,有什么不方便吗?

1 个答案:

答案 0 :(得分:4)

如上所述here

  

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

     

然而有一个   使用<foo>样式断言时语法语法的歧义   JSX:

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

因此,现在建议您只使用as foo   一致性。