HarmonyOS鸿蒙Next ArkTS中typeOf和instanceOf的区别是啥?

HarmonyOS鸿蒙Next ArkTS中typeOf和instanceOf的区别是啥? 正在学习 ArkTS.

在看到相关示例的时候, 有 2 个关键字分辨地不是很清楚.

一个 typeOf, 一个是 instanceOf.

请问一下这两者的使用场景是什么? 怎么感觉区别不是很大?

3 回复

typeof 用于区分基础数据类型
instanceof 用于区分类

function exampleFunction<T>(arg: T): void {
  if (typeof arg === 'string') {
    console.log('T is a string');
  } else if (typeof arg === 'number') {
    console.log('T is a number');
  } else {
    console.log('T is of another type');
  }
}
export function JumpByObject(params: NewsListBean | JumpData) {
  if (params instanceof NewsListBean) {
    console.log('11111111111111');
  } else if(params instanceof JumpData){
    console.log('22222222222222');
  }
}

更多关于HarmonyOS鸿蒙Next ArkTS中typeOf和instanceOf的区别是啥?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next的ArkTS中,typeOfinstanceOf是两个用于类型检查的操作符,但它们的用途和行为有所不同。

  1. typeOf

    • typeOf用于获取一个变量的数据类型。它返回一个字符串,表示变量的类型。
    • 例如,typeOf 42会返回"number"typeOf "Hello"会返回"string"
    • typeOf主要用于判断基本数据类型(如numberstringboolean等)和undefinedobjectfunction等。
  2. instanceOf

    • instanceOf用于检查一个对象是否属于某个类的实例。它返回一个布尔值,表示对象是否是该类的实例或其子类的实例。
    • 例如,obj instanceOf MyClass会检查obj是否是MyClass的实例。
    • instanceOf主要用于判断对象是否为特定类的实例,适用于自定义类和内置类。

总结来说,typeOf用于获取变量的数据类型,而instanceOf用于检查对象是否为某个类的实例。

在HarmonyOS鸿蒙Next的ArkTS中,typeOfinstanceOf用于类型检查,但用途不同:

  1. typeOf:用于检查变量的基本类型,返回值为字符串,如"string""number"等。例如,typeOf 42返回"number"

  2. instanceOf:用于检查对象是否为某个类的实例,返回布尔值。例如,obj instanceof MyClass检查obj是否是MyClass的实例。

总结:typeOf检查基本类型,instanceOf检查对象实例关系。

回到顶部