FunScript querySelector 空结果

FunScript querySelector null result

我想使用 document.querySelector 方法获取 html 节点。结果在 Js 中我可以收到 null。但在 F# 中,结果类型是 Element,它既不是可为 null 的也不是可选的,并且不清楚如何检查它是否为 null。当 querySelector 不匹配任何 DOM 节点时,我该如何处理?

是的,F# 代码确实假定 Element 不可为空。您可以通过多种方式欺骗编译器进行不同的思考。可能最简单的方法是像这样装箱值:

let el = Globals.document.querySelector(".myclass")
if (box el) = null
then doSomething()
else doSomethingElse()`

box 生成 JS 代码时将被忽略,因此这样做不会影响性能。