[英]Why console.log(window) works but JSON.stringify(window) doesn't work, and how can I beat that?
[英]How can I stringify any type of value the same way console.log does?
正如標題所說,我如何將任何類型的值字符串化並獲得完全相同的 output console.log 將在變量中打印,或者非常相似且仍然有用的打印,而不是轉到控制台。 最好在 Deno。
.toString()
在Error()
和其他類似函數上運行良好,但在更傳統的對象上返回[object Object]
。 同樣, JSON.stringify()
在更傳統的對象上工作得很好,但在諸如Error()
之類的東西上返回{}
。 由於這兩個都是對象,我基本上想知道,當您事先不知道對象是什么類型時,使用對象獲得最佳 output 的最佳方法是什么。
ECMAScript 規范未定義控制台行為,因此給定的運行時可以實現它的維護者認為合適的行為。 例如引用MDN :
它的具體工作方式因瀏覽器而異,但通常會提供一組事實上的功能。
Deno 確實公開了inspect
function :
inspect(value: unknown, options?: InspectOptions): string
將輸入轉換為與
console.log()
打印的格式相同的字符串。
Node 有類似的util.inspect
,雖然沒有明確綁定到控制台行為:
util.inspect()
方法返回用於調試的字符串表示形式 object。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.