当使用Deno 0.42.0时,我发现很难通过使用typeof或我在JavaScript中使用的其他检查技术来对对象进行任何类型的分析。
例如:
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中有没有一种方法可以在不知道对象类型的情况下实时检查对象?
它在浏览器上的工作方式也与此完全相同。
typeof
可能的返回值为:
- 未定义
- 对象
- 布尔值
- 数字
- bigint
- 字符串
- 符号
- 函数
所以您不可能获得其他值。
也许你想要的是.constructor.name
const form = new FormData();
console.log(`class: ${form.constructor.name}`); // FormData
console.log(`props: ${ form instanceof FormData }`); // true