gpt4 book ai didi

javascript - 如何获取变量的字符串表示形式,如 console.log 所示

转载 作者:搜寻专家 更新时间:2023-10-31 23:15:00 28 4
gpt4 key购买 nike

如何获取变量的字符串表示形式,如 console.log() 输出时所示?

例如,

const myFunc = async () => 'my string';
ret = myFunc();
console.log(ret); // Promise { 'my string' }
stringRepresentation = ret.someMethod(); // is there a method or some other way?
console.assert(stringRepresentation === "Promise { 'my string' }");

我主要对在 Node.js 中运行它感兴趣(但也很好奇它是否可以在浏览器中运行)。

最佳答案

Node.js 控制台实现使用 util.inspect 来字符串化对象输出:

console.assert(util.inspect(ret) === "Promise { 'my string' }");

将 promise 断言为 Promise { 'my string' } 是不安全的,因为这样表示 promise 是不必要的。在 REPL 中它将是:

Promise {
'my string',
domain:
Domain {
domain: null,
_events: { error: [Function: debugDomainError] },
_eventsCount: 1,
_maxListeners: undefined,
members: [] } }

即使浏览器存在 util polyfill,它也不能用于同步字符串化 promise ,因为无法检查原生 promise ,只能与 thencatch。 Node.js uses native bindings检查 ES6 promise 。

关于javascript - 如何获取变量的字符串表示形式,如 console.log 所示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53112922/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com