microsoft / microsoft/TypeScript
JS | Optional chaining left hand assignment not detected as syntax error.
Open
Nobody has claimed this yet.
Bug
Domain: Parser
Help Wanted
- Dominant language
- Go
- Stars
- 111k
- Forks
- 14.3k
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 117
Description
Does this issue occur when all extensions are disabled?: Yes/No
- VS Code Version: 1.86.2
- OS Version: Windows 11
Steps to Reproduce:
- Add this code to a .js file:
let tree = {type: 'none'};
tree?.type = 'apple';
- This should be detected as a syntax error. Specifically "Uncaught SyntaxError: Invalid left-hand side in assignment". It is not.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the issue in a .js file using the optional-chaining assignment shown in the report, then trace how the JavaScript parser or diagnostics handle that expression. Done means the code is reported as a syntax error with an invalid-left-hand-side assignment message.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 48/100