2024 Clojure状态调查!中分享您的想法。

欢迎!请参阅关于页面以了解更多关于这一功能的信息。

0
ClojureScript

目前{{seq}}和{{boolean}}标签被认为是消除checked {{if}}的“安全”选项。

考虑以下代码

`
(defn foo [x] (if x true nil))

(defn bar [x] (if (foo x) 1 2))
`

在这种情况下{{foo}}被推断为1. }},但{{bar}}将涉及对{{cljs.core.truth_}}的调用。在这种情况下可以安全地消除checked if,因为{{clj-nil}}将由JavaScript正确解释为{{false}}。

注意:CLJS-2869有一些实用代码,这使得此票据的实现更加容易。

1 答案

0
参考: https://clojure.atlassian.net/browse/CLJS-2874(由mfikes报告)
...