Javascript 为什么String有prototype.length属性以及在String实例上生成direct length属性

Javascript 为什么String有prototype.length属性以及在String实例上生成direct length属性,javascript,Javascript,为什么String有一个prototype.length以及一个directlength属性(该属性必须来自String构造函数中的某个地方) 事情就是这样。从: 字符串原型对象: 是,并且具有为此类对象指定的内部方法 具有值为空字符串的[[StringData]]内部插槽 具有一个length属性,其初始值为0,属性为{[[Writable]]:false,[[Enumerable]]:false, [[可配置]]:false} 这可能被认为是一场意外,但现在改变已经太迟了。另请参见。事情

为什么
String
有一个
prototype.length
以及一个directlength属性(该属性必须来自
String
构造函数中的某个地方)


事情就是这样。从:

字符串原型对象:

  • 是,并且具有为此类对象指定的内部方法
  • 具有值为空字符串的[[StringData]]内部插槽
  • 具有一个
    length
    属性,其初始值为
    0
    ,属性为{[[Writable]]:
    false
    ,[[Enumerable]]:
    false
    , [[可配置]]:
    false
    }

这可能被认为是一场意外,但现在改变已经太迟了。另请参见。

事情就是这样。从:

字符串原型对象:

  • 是,并且具有为此类对象指定的内部方法
  • 具有值为空字符串的[[StringData]]内部插槽
  • 具有一个
    length
    属性,其初始值为
    0
    ,属性为{[[Writable]]:
    false
    ,[[Enumerable]]:
    false
    , [[可配置]]:
    false
    }
这可能被认为是一场意外,但现在改变已经太迟了。另见