在ClojureScript中,可以这样提供默认协议实现:
(extend-type default
AProtocol (f [] ...))
ClojureScript的extend-type
文档已经对这方面做得很详细
- 默认,意味着定义会应用于任何值,
除非对于以下更具体的某个情况存在扩展类型。
nil,意味着对于nil值,定义将适用。
- 值得考虑记录如何通过在
Object
和nil
上使用extend-type
来为Clojure中的协议提供默认实现,在extend-type
的clj文档字符串中。网站已有记录。
文档