vem*_*emv 31 clojure clojurescript
虽然defrecord是Clojure中用于定义"实体"的一般情况的首选形式,但在ClojureScript中,可以找到更多的引用deftype,如各种 文档中所反映的那样.
两种形式有什么区别?哪个应该更喜欢?
lev*_*and 45
deftype 创建一个实现协议的简单对象.
defrecord 创建一个实现协议的不可变持久映射.
使用哪个取决于你想要什么.您想要一个完整的ClojureScript数据结构吗?然后使用记录.你只是想要一个除了满足协议之外什么都不做的简单的事情吗?然后使用一种类型.
您引用的两个文档使用类型,因为它们试图在最基本的级别上说明协议,并且类型比记录更少"继续",可以这么说.
但是,Clojure/ClojureScript中对象类事物的大多数现实使用需要将数据字段与对象一起存储,为此您应该着重使用记录,出于同样的原因,您应该使用任何Clojure的不可变集合.
| 归档时间: |
|
| 查看次数: |
5415 次 |
| 最近记录: |