在 Deno 中访问对象信息

Accessing Object information in Deno

使用 Deno 0.42.0 时,我发现很难使用 typeof 或我在 JavaScript 中使用的其他检查技术对对象进行任何类型的分析。

例如:

const form = new FormData();
console.log(`typeof: ${ typeof form }`);

.. 只是 returns object

同样,检查如下属性:

const form = new FormData();
console.log(`props: ${ Object.getOwnPropertyNames(form) }`);

...returns 没有。

至少 instanceof 确实有效:

const form = new FormData();
console.log(`props: ${ form instanceof FormData }`);

... returns true

Deno 中有没有一种方法可以在不知道对象类型是什么的情况下实时检查对象?

在浏览器上也完全一样。

typeof 可能的 return 值是:

  • 未定义
  • 对象
  • 布尔值
  • 数量
  • bigint
  • 字符串
  • 符号
  • 函数

所以你不可能得到另一个值。


也许你想要的是.constructor.name

const form = new FormData();
console.log(`class: ${form.constructor.name}`); // FormData
console.log(`props: ${ form instanceof FormData }`); // true