properties - 在 Deno 中访问对象信息
问题描述
在使用 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 有没有办法在不知道对象类型是什么的情况下实时检查对象?
解决方案
它在浏览器上的工作方式也完全一样。
typeof
可能的返回值是:
- 不明确的
- 目的
- 布尔值
- 数字
- 大整数
- 细绳
- 象征
- 功能
所以你不可能得到另一个值。
也许你想要的是.constructor.name
const form = new FormData();
console.log(`class: ${form.constructor.name}`); // FormData
console.log(`props: ${ form instanceof FormData }`); // true
推荐阅读
- c++ - 这种计算数组大小的方法不起作用?
- javascript - 如何检查对象的Javascript数组是否具有相同的值
- python - Python Discord Bot @commands.has_any_role 问题
- installation - 尝试创建扩展时出错:pg_stat_statement
- python-3.x - UnicodeDecodeError:“utf-8”编解码器无法解码位置 0 的字节 0x80:读取文本文件时起始字节无效
- spring-boot - Spring Security OAuth2 支持 Facebook appsecret_proof
- json - 将 RESTResponse.Content 转换为 JSON 值或 JSON 数组 Delphi
- javascript - Javascript 无法显示倒数计时器,它也从按钮单击开始
- python - 值 161137531201111100, 1.611375312011111e+17 是否相等?
- mysql - 关于左连接中的SQL选择问题