当前位置: 首页 > 知识库问答 >
问题:

使用as的TypeScript转换[重复]

边浩漫
2023-03-14

我试图将类型any转换为布尔值。所以我就这么做了:

let a = (<any>myType) as boolean;

但是a不是布尔值,它只包含myType值。然而,当我尝试这个:

let b = Boolean(myType);

b返回一个布尔值,该值为false。

我是否遗漏了一些关于“as”演员的内容?

哪一个是正确的转换为布尔值?

共有1个答案

魏宸
2023-03-14

铸造

要实际转换值,您可以使用转换(例如您的布尔(myType)示例)。

不要将其过度推广到其他语言,如Java或C。这就是TypeScript调用进程类型断言而不是强制转换的原因之一。这在很大程度上是正确的,在这些语言中强制转换也不是转换,但不是完全转换,并且在这些其他语言中单独强制转换可能会对运行时行为产生影响。

 类似资料:
  • 问题内容: 这两个代码段之间有什么区别: 结果不完全一样吗? 问题答案: 在该代码中没有区别,在两种情况下它的求和结果都是 真正的区别是: 在第一种情况下,向下转换预期将始终成功(即使它为nil),因此,如果返回的不是其实例(或从其继承的类的实例),则它将在运行时失败。该表达式返回一个可选 在第二种情况下,强制类型转换是可选的:如果返回的对象既不是子类的实例也不是子类的实例,则向下转换的结果为ni

  • 我有如下的JSON数组: 我还创建了如下用户类: 我的计划是将incomming JSON数组强制转换为User数组。在JSON中,我将角色作为整数。我的课上有管理和驱动布尔字段。这是ngModel中复选框所需要的。

  • 我试图计算一个百分比值,如下所示,其中和是整数: 但是我收到一个警告,上面写着“避免使用as”。我想百分比是整数类型。如何重写此内容以避免使用“as”?

  • 我正在TypeScript中重建Atlassian React-Flux教程(使用来自tsd的React、Flux和Node的绑定),但在实现dispatcher时遇到了一个问题,它本质上是一个单例。 我正在尝试以下方法: AppDispatcher.ts 就像在教程中一样,我使用localStorage上的JSON文件来伪造Web API。所以我的ActionCreator执行以下操作: Act

  • 问题内容: 强制转换为文件时,编译器将其假定为JSX,例如: 给出一个错误 JSX元素类型’HtmlInputElement’不是JSX元素的构造函数 如何将TypeScript转换为文件? 问题答案: 该运算符被引入TypeScript 1.6,以替换文件中的强制类型转换,例如: TypeScript Wiki解释了1.6的更改: 它使新运算符成为默认的转换方式(消除了JSX表达式与TypeSc

  • 我有文本数据,格式如下所示。如何使用python将其转换为JSON?