Я использую mathjs для вычисления некоторых выражений из данных JSON.Я называю eval, где я передаю данные JSON как область видимости.Я могу использовать пути JSON в сценарии mathjs, например user1.age> user2.age.Но когда эти пути не содержатся в JSON, mathjs выдает ошибку.
Если символ нулевой, я легко могу проверить его в скрипте mathjs.Но если он не определен, я не могу этого сделать, потому что mathjs выдает ошибку, вместо того, чтобы оценивать ее как неопределенную.
left == null ? right : left
Этот скрипт оценивается в 42 для следующего ввода -
{
"left": null,
"right": 42
}
Но выдает ошибку «Ошибка: Остался неопределенный символ» для этого -
{
"right": 42
}
Попытка просмотреть дерево выражений, добавить все недостающие символы в данные JSON и передать его в eval позже.https://mathjs.org/examples/advanced/expression_trees.js.html Но есть ли лучший способ для обработки пользовательских символов?