类型判断运算符(as、is、is!)

类型判断运算符

  • as、is、is! 运算符是在运行时判断对象类型的运算符。

as 类型转换(也用作指定 类前缀))

is 如果对象是指定类型则返回 true

is! 如果对象是指定类型则返回 false

  • 当且仅当 obj 实现了 T 的接口,obj is T 才是 true。例如 obj is Object 总为 true,因为所有类都是 Object 的子类。

  • 仅当你确定这个对象是该类型的时候,你才可以使用 as 操作符可以把对象转换为特定的类型。例如:

(employee as Person).firstName = 'Bob';
  • 如果你不确定这个对象类型是不是 T,请在转型前使用 is T 检查类型。
if (employee is Person) {
  // Type check
  employee.firstName = 'Bob';
}
  • 你可以使用 as 运算符进行缩写:
(emp as Person).firstName = 'Bob';
  • 备注:上述两种方式是有区别的:如果 employee 为 null 或者不为 Person 类型,则第一种方式将会抛出异常,而第二种不会。
posted @ 2021-06-15 21:15  R1cardo  阅读(559)  评论(0编辑  收藏  举报