I have a.x = b.y to be the AST node:
{
"type": "ExpressionStatement",
"start": 122,
"end": 131,
"expression": {
"type": "AssignmentExpression",
"start": 122,
"end": 131,
"operator": "=",
"left": {
"type": "MemberExpression",
"start": 122,
"end": 125,
"object": {
"type": "Identifier",
"start": 122,
"end": 123,
"name": "a"
},
"property": {
"type": "Identifier",
"start": 124,
"end": 125,
"name": "x"
},
"computed": false,
"optional": false
},
"right": {
"type": "MemberExpression",
"start": 128,
"end": 131,
"object": {
"type": "Identifier",
"start": 128,
"end": 129,
"name": "b"
},
"property": {
"type": "Identifier",
"start": 130,
"end": 131,
"name": "y"
},
"computed": false,
"optional": false
}
}
}
What does computed and optional mean? What are some examples?