Chrome console object properties are displayed using angle and square brackets

While listing the properties of an object in the Chrome console, I came across entries that I had not seen before. Indeed, some properties have been identified by the symbols <angle-brackets-properties> and [[double-square-brackets-properties]] . Can anyone shed some light on:

  • What do these symbols mean for
  • What are the consequences in terms of the behavior / modifiers of these properties (enumerated, writable, customizable, etc.)
  • Can this be reproduced using pure Javascript operations, or if this is possible only through native C ++ objects.
  • When it was introduced (ECMAScript specification)

The following is an example: enter image description here

+7
javascript google-chrome ecmascript-5
source share
1 answer

In the answer here most of all I ask you to answer . Like this answer, I will talk about the specification:

They are defined by this specification for explanatory purposes only. An ECMAScript implementation should behave as if it were created and controlled by internal properties in the manner described here. Internal property names are enclosed in double square brackets [[]]. When an algorithm uses an internal property of an object and the object does not implement the specified internal property, a TypeError exception is thrown.

+2
source share

All Articles