The displayName
property, if present, may be preferred by consoles and profilers over the name
property to be displayed as the name of a function.
Among browsers, only the Firefox console utilizes this property. React devtools also use the displayName
property when displaying the component tree.
Firefox does some basic attempts to decode the displayName
that's possibly generated by the anonymous JavaScript functions naming convention algorithm. The following patterns are detected:
- If
displayName
ends with a sequence of alphanumeric characters, _
, and $
, the longest such suffix is displayed. - If
displayName
ends with a sequence of []
-enclosed characters, that sequence is displayed without the square brackets. - If
displayName
ends with a sequence of alphanumeric characters and _
followed by some /
, .
, or <
, the sequence is returned without the trailing /
, .
, or <
characters. - If
displayName
ends with a sequence of alphanumeric characters and _
followed by (^)
, the sequence is displayed without the (^)
.
If none of the above patterns match, the entire displayName
is displayed.