小程序真机标准库中console.log()实现中的隐式类型转换错误
发布于 6 年前 作者 zhumin 4532 次浏览 来自 问答

问题复现:

  1. 在任意Object对象中定义一个getter

  2. getter的返回值中包含该Object的引用

  3. 使用console.log打印该Object对象

  4. 此时类型转换函数JSON.stringify抛出`converting circular structure to JSON`异常

代码例子:

const app = getApp()
Object.defineProperty(app, 'someGetter', {
  get () {
    return {
      // some structure
      _app: app
    }
  }
})
 
console.log(app) // boom!
回到顶部