Clojure China

ClojureScript 和 JavaScript 那些有的没的

#1

吐槽文… 写着 js 感觉缺少 cljs 里的功能, 但是又用不了 cljs, 毕竟浏览器兼容性和网络带宽的现实摆在那. 有点不甘心呐.

不可变数据

写了 Clojure 之后逐渐已经适应了 Clojure 当中使用不可变数据, 然后借助 Atom 来模拟可变状态的做法. 回到 JavaScript 代码当中, 麻烦的地方就多了的, 因为只能写 mutable data, 各种操作就算为了写得不难看, 也不好用 Immutable, 再说也不好把 library 随便引进去, 即便可以, 也会被同事烦.

mutable data 有时候因为习惯性地写着, 还造成状态的丢失, 因为被修改了. 真是没地方说理去. 总体上思维方式已经改不过来了.

异步抽象

JavaScript 从 CPS 的回调写法, 到 Promise 开始吹牛, 到 Generator 写法, 到现在 async/await 最终支持, 搞了好久了. Clojure 则是老早弄出来 core.async . 看着隔壁 Go 社区玩 CSP 玩 Go Channel 风生水起, 反而在前端没什么可以搞的, 真是郁闷.

===typeof

老问题, JavaScript 要用 ===, 别的语言但凡设计得好一些, 都能把这问题解决了把, JavaScript 由于兼容性原因, 一直不改, 神烦.

其他毛毛躁躁的小问题也有很多. 大半夜懒得写了.

1赞
#2

:slightly_smiling:
:slightly_smiling:
:slightly_smiling:
:slightly_smiling:
:slightly_smiling:
:slightly_smiling:
:slightly_smiling:
:slightly_smiling: