最近在看一个有关定义接口的东西,结果看到了鸭式辩型法我就迷糊了,JS没有像java那样有interface方法,求大神给详细解释一下鸭式辩型法一般实现接口的步骤和 一些逻辑
2 回答

慕村225694
TA贡献1880条经验 获得超4个赞
这个没有什么实现接口吧,因为这个一般都是最无奈的选择了
我判断A是否为一个数组,如果没有其他办法判断的话,我会判断A是否有length属性,并且有slice方法
都有就认为是数组,但是严格意义上来说,这个东西不一定是个数组

吃鸡游戏
TA贡献1829条经验 获得超7个赞
长了两条腿的,会嘎嘎叫的,就(当做)是鸭子。——这就是你所谓的“鸭式辩型法”。
各种语言有各自擅长的领域,而且对于接口这种东西,正如你说的是没有的(而且现在很多语言也在弱化接口的概念)。
接口是什么,是一种约定。所以,所谓的“鸭式辩型法”就是去检测这种约定是否遵守而已。
遵守了,我们就当他实现了某个接口,具体的检测实现的过程是多样的。
JavaScript是脚本语言,属于非编译类型语言,这种约定也是很脆弱的。
所以,不用去纠结JavaScript的接口实现,学习另当别论。
添加回答
举报
0/150
提交
取消