Dart 语言中的“as”关键字有什么作用

him*_*ami 14 dart flutter

我对“as”关键字的使用感到困惑。

它是强制转换运算符还是别名运算符?

我在互联网上遇到以下代码,看起来像一个演员:

var list = json['images'] as List;
Run Code Online (Sandbox Code Playgroud)

这是什么意思?

jam*_*lin 14

as 在不同的上下文中意味着不同的事物。

它主要用作类型转换运算符。从Dart 语言之旅

as:类型转换(也用于指定库前缀

它链接到的是如何解释as也用于将添加前缀importED库以避免名称冲突。(as被重用来做不同的事情以避免需要额外的关键字。)


mar*_*987 7

只是添加 as 关键字现在已被 linter 标记,他们更喜欢您使用像 is 这样的检查

if (pm is Person)
  pm.firstName = 'Seth';
Run Code Online (Sandbox Code Playgroud)

您可以在这里阅读更多信息https://github.com/dart-lang/linter/issues/145