JavaScript中的接口是否需要?

我想这可能适用于任何动态语言,但我使用的是JavaScript。我们有一个情况,我们正在JavaScript中编写几个控件,需要公开一个Send()函数,然后由托管JavaScript的页面调用该函数。我们有一个数组的对象,这个发送函数定义了,所以我们遍历这个集合并在每个对象上调用Send()。

在OO语言中,如果你想做类似的事情,你会有一个IControl接口,其中有一个Send()函数必须由每个控件实现,然后你会有一个IControl实现的集合,你可以迭代通过并调用send方法。

我的问题是,使用JavaScript是一种动态语言,是否需要定义控件应该继承的接口,还是要调用显示在控件上的Send()函数呢?

动态语言经常鼓励Duck Typing,其中对象的方法决定如何使用它,而不是明确的契约(如接口)。
翻译自:https://stackoverflow.com/questions/1419626/are-interfaces-in-javascript-necessary

转载注明原文:JavaScript中的接口是否需要?