gpt4 book ai didi

javascript - 为什么 Object.prototype.toString 返回 [object Object]

转载 作者:行者123 更新时间:2023-12-01 11:10:27 24 4
gpt4 key购买 nike

关闭。这个问题是opinion-based .它目前不接受答案。












想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它.


7年前关闭。







Improve this question




我的代码如下所示

var obj = { name: 'John' }
var x = obj.toString();// produce "[object Object]"

alert(x)


我想知道为什么 Object.prototype.toString实现返回 [object Object]以及为什么没有实现返回 "{name: 'John'}" ?

最佳答案

根据ECMAScript Language Specification :

15.2.4.2 Object.prototype.toString ( ) When the toString method is called, the following steps are taken:

  1. If the this value is undefined, return "[object Undefined]".
  2. If the this value is null, return "[object Null]".
  3. Let O be the result of calling ToObject passing the this value as the argument.
  4. Let class be the value of the [[Class]] internal property of O.
  5. Return the String value that is the result of concatenating the three Strings "[object ", class, and "]".


语言是这样设计的。我猜你得问 Brendan Eich 或 TC39。

关于javascript - 为什么 Object.prototype.toString 返回 [object Object],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27731303/

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