1

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

例如:

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

..只是返回object

同样,检查如下属性:

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

...什么也不返回。

至少 instanceof 确实有效:

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

...返回true

Deno 有没有办法在不知道对象类型是什么的情况下实时检查对象?

4

1 回答 1

2

它在浏览器上的工作方式也完全一样。

typeof可能的返回值是:

  • 不明确的
  • 目的
  • 布尔值
  • 数字
  • 大整数
  • 细绳
  • 象征
  • 功能

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


也许你想要的是.constructor.name

const form = new FormData();
console.log(`class: ${form.constructor.name}`); // FormData
console.log(`props: ${ form instanceof FormData }`); // true
于 2020-05-10T10:43:35.613 回答