I read in the EcmaScript specification that certain methods are “generic”. What does this mean?

后端 未结 2 1927
南旧
南旧 2020-12-21 11:54

I read in the EcmaScript specification that certain methods are \"generic\". What does this mean?

Does it mean that the methods make little or no assumptions about t

相关标签:
2条回答
  • 2020-12-21 12:21

    In Object-Oriented Programming, a generic function is a function that uses the types of its arguments to automatically run the most appropriate method. From the EcmaScript draft:

    Generic functions are function objects each with a set of attached methods. A call to a generic function matches the types of the actual arguments to the signatures of the attached methods and dispatches to the most appropriate method following deterministic rules.

    0 讨论(0)
  • 2020-12-21 12:32

    Does it mean that the methods make little or no assumptions about the object bound to the this value when the function is invoked?

    Exactly that. Whenever you read the term "generic method", "intentionally generic" or "not generic", it is explicitly specified on what that function is generic (or not): the this value (receiver) being an object of a certain kind, with specific internal slots. (examples are typed array methods)

    Generic methods do not use such and do not throw when they don't find them, instead they use only the public (generic "object interface") properties (examples are array methods), or cast values to type they expect (examples are string methods).

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