Я строй парсер JavaScript и получил ошибку при тестировании его на JQuery на линии 496:задания Странного JavaScript с логическим или
isArray: Array.isArray || function(obj) {
return jQuery.type(obj) === "array";
},
Я сократил его вниз к этому:
a = b || function() {}
Действительно ли это ECMA-262 или это функция, добавленная с тех пор? В любом случае, как я могу выразить это с точки зрения анализатора?
Мой абстрактное синтаксическое дерево для выражения присваивания является:
data Assignment
= CondExpr CondExpr
| Assign LeftExpr AssignOp Assignment
| AssignFuncDecl FuncDecl
Это не поддерживает задания в вышеуказанном формате.
В случае необходимости я могу объяснить свой АСТ. Спасибо за любую помощь, которую вы можете дать!
А, это действительно удобно. Хотелось бы, чтобы у меня было это, когда я начал ... Мне удалось отследить мою ошибку. Оказывается, я пропустил FunctionExpression в MemberExpression. Благодарю. –