代码之家  ›  专栏  ›  技术社区  ›  xkeshav

在javascript中查找给定对象实例的任何方法

  •  0
  • xkeshav  · 技术社区  · 6 年前

    在ES6中是否有新的方法或方法来查找实例(父对象类名)?

    就像我们一样 typeof <entity> 它返回类型

    以及 keyof 打字稿

    我们可以检查一下这是哪个对象的实例吗?

    虚设代码

    instanceof <entity>

    返回类似的内容

    1. 霍特佩罗
    2. HTML-元素
    3. NODLIST
    4. 未定义
    1 回复  |  直到 6 年前
        1
  •  4
  •   T.J. Crowder    6 年前

    您可以使用对象的 constructor 如果有问题的对象有一个属性(通常是从原型继承的),则属性(并非所有对象都有;通过构造函数创建的对象通常都有)。

    例子:

    const dt = new Date();
    console.log(dt.constructor === Date); // true

    例如,在ES2015+中, Promise , Array 和其他用途 构造函数 创建相同类型的新对象时(例如, 许诺 then 使用它, 数组 slice 使用它等),以便这些操作对子类是友好的。无偿子类示例:

    class MyArray extends Array {
    }
    const a = new MyArray("a", "b", "c");
    const b = a.slice(1);              // Creates new MyArray
    console.log(b.join(", "));         // "b, c"
    console.log(b instanceof MyArray); // true

    一般来说 不过,在javascript中,我们倾向于 duck typing 构造函数 instanceof 检查。