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
...