Javascript 我在EcmaScript规范中读到,某些方法是;“通用”;。这是什么意思?
我在EcmaScript规范中读到某些方法是“通用的”。这是什么意思Javascript 我在EcmaScript规范中读到,某些方法是;“通用”;。这是什么意思?,javascript,ecmascript-6,Javascript,Ecmascript 6,我在EcmaScript规范中读到某些方法是“通用的”。这是什么意思 这是否意味着调用函数时,这些方法对绑定到此值的对象很少或根本不做任何假设?在面向对象编程中,泛型函数是指使用其参数类型自动运行最合适方法的函数。从: 泛型函数是函数对象,每个对象都有一组附加的方法。对泛型函数的调用将实际参数的类型与附加方法的签名相匹配,并根据确定性规则分派给最合适的方法 这是否意味着在调用函数时,这些方法对绑定到此值的对象很少或根本不做任何假设 正是这样。无论何时阅读术语“通用方法”、“有意通用”或“非通用”
这是否意味着调用函数时,这些方法对绑定到
此值的对象很少或根本不做任何假设?在面向对象编程中,泛型函数是指使用其参数类型自动运行最合适方法的函数。从:
泛型函数是函数对象,每个对象都有一组附加的方法。对泛型函数的调用将实际参数的类型与附加方法的签名相匹配,并根据确定性规则分派给最合适的方法
这是否意味着在调用函数时,这些方法对绑定到此值的对象很少或根本不做任何假设
正是这样。无论何时阅读术语“通用方法”、“有意通用”或“非通用”,都会明确指定该函数的通用性(或非通用性):此
值(接收器)是具有特定内部插槽的特定类型的对象。(示例为类型化数组方法)
泛型方法不使用此类属性,也不会在找不到它们时抛出,相反,它们只使用公共(泛型“对象接口”)属性(示例为数组方法)或强制转换值来键入它们期望的类型(示例为字符串方法)。同样,[].slice.call(arguments)
利用slice的泛型吗?在这种情况下,泛型与多态性有什么关系?是的,是的。所有slice
需要的是一个具有.length
和数字属性的对象。不需要数组的实例
左右。它基本上使用duck类型的参数。它也是一个多态函数,因为它使用ArraySpeciesCreate
返回不同类型的值。