我在EcmaScript规范中读到某些方法是"泛型"。这是什么意思?

时间:2015-04-23 22:54:34

标签: javascript ecmascript-6

我在EcmaScript规范中读到某些方法是"泛型"。这是什么意思?

这是否意味着在调用函数时,这些方法对绑定到this值的对象几乎没有假设?

2 个答案:

答案 0 :(得分:2)

在面向对象编程中,泛型函数是一种函数,它使用其参数类型自动运行最合适的方法。来自EcmaScript draft

  

通用函数是函数对象,每个函数对象都有一组附加方法。对泛型函数的调用将匹配附加方法的签名的实际参数类型,并根据确定性规则调度到最合适的方法。

答案 1 :(得分:2)

  

这是否意味着在调用函数时,这些方法对绑定到this值的对象做出很少或没有假设?

正是如此。每当您阅读术语“泛型方法”,“故意通用”或“非泛型”时,就明确指定该函数是通用的(或不是):this值(接收者)是一个对象某种,具有特定的内部插槽。 (示例是类型化数组方法)

通用方法不使用它们,并且在它们找不到它们时不抛出,而是仅使用公共(通用“对象接口”)属性(示例是数组方法),或者将值转换为它们期望的类型(例子是字符串方法)。