FunScript querySelector нулевой результат

Я хочу использовать document.querySelector метод, чтобы получить HTML-узел. В JS я могу получить null в следствии. Но в F# тип результата Element и это не обнуляемый и не необязательный, и не ясно, как это проверить null, Как я могу справиться с ситуацией, когда querySelector не соответствует ни одному узлу DOM?

1 ответ

Решение

Да, это правда, что код F# предполагает, что Элемент не может быть обнуляемым. Вы можете обмануть компилятор, чтобы думать иначе несколькими способами. Вероятно, самый простой способ - поместить значение в коробку так:

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

box будет игнорироваться при генерации кода JS, поэтому при этом не снижается производительность.

Другие вопросы по тегам