ClojureScript 中可以按如下方式提供默认协议实现
(extend-type default
AProtocol (f [] ...))
这已在 ClojureScript 的 extend-type
文档字符串中有很好的记录
- 默认,这意味着定义将适用于任何值,
除非下面存在为更具体的情况提供的 extend-type。
nil,意味着定义将适用于 nil 值。
- 可能有必要文档化如何在 clojure 中为协议提供默认实现,通过在
extend-type
clj 文档字符串中使用针对 Object
& nil
的 extend-type
。
网站上已有记录。