2

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

4

1 回答 1

1

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

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

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

于 2015-05-15T11:12:41.713 回答