instanceOfString 方法

bool instanceOfString(
  1. String constructorName
)

判断此 JSAny? 是否为数组构造函数的实例,该构造函数由 constructorName 定义,并在 全局上下文 中查找。

如果 constructorName 包含 '.',该名称将被拆分为几个部分以获取构造函数。例如,library1.JSClass 将涉及从 全局上下文 中检索 library1,然后从 library1 中检索 JSClass 以获取构造函数。

如果 constructorName 为空,或任何部分或构造函数不存在,则返回 false。

实现

bool instanceOfString(String constructorName) {
  if (constructorName.isEmpty) return false;
  final parts = constructorName.split('.');
  JSObject? constructor = globalContext;
  for (final part in parts) {
    constructor = constructor?[part] as JSObject?;
    if (constructor == null) return false;
  }
  return instanceof(constructor as JSFunction);
}