What does the built in object hierarchy look like in javascript?

前端 未结 1 545
误落风尘
误落风尘 2021-02-03 12:21

I was looking for a diagram which shows the built in types of javascript like Function and String but on google I keep finding diagrams with the browse

相关标签:
1条回答
  • 2021-02-03 13:01

    There's not much depth to the JavaScript types to speak of, the diagram would be fairly flat. It's basically (UML at the end):

    • primitive string
    • primitive boolean
    • primitive number
    • primitive BigInt (ES2020+, primitive arbitrarily-large integers)
    • the Undefined type, which has exactly one instance: undefined
    • the Null type, which has exactly one instance: null
    • Symbol (a primitive type) (ES2015+)
    • Proxy (an object type, but one not backed by the default object prototype) (ES2015+)
    • Object
      • String
      • Boolean
      • Number
      • BigInt (ES2020+)
      • Function
      • Date
      • RegExp
      • Array
      • Math
      • Error
        • EvalError
        • RangeError
        • ReferenceError
        • SyntaxError
        • TypeError
        • URIError
        • AggregateError (ES2020+)
      • JSON (ES5+)
      • ArrayBuffer (ES2015+)
      • DataView (ES2015+)
      • The typed arrays (Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array) (ES2015+)
      • Map (ES2015+)
      • WeakMap (ES2015+)
      • Set (ES2015+)
      • WeakSet (ES2015+)
      • Promise (ES2015+)
      • Reflect (ES2015+)

    Inevitably that list will become outdated over time, as JavaScript is an evolving language. I think that's up-to-date through ES2020. To get the latest info, check the latest editor's draft of the specification.

    In UML, it looks something like this:

    (click the image to open it so you can zoom)

    Note that this is just JavaScript's type tree. It doesn't include lots of other things that are often used with JavaScript on browsers (such as the DOM, the worker's API, web storage, the File API, etc., etc.).

    0 讨论(0)
提交回复
热议问题