<!-- Please try to reproduce the issue with the latest published version. It may have already been fixed. For npm: `typescript@next` This is also the 'Nightly' version in the playground: http://www.typescriptlang.org/play/?ts=Nightly --> **TypeScript Version:** 3.7.x-dev.201xxxxx <!-- Search terms you tried before logging this (so others can find this issue more easily) --> **Search Terms:** JSDoc tuple optional **Code** [In JavaScript](https://www.typescriptlang.org/play?strictNullChecks=true&jsx=0&useJavaScript=true#code/PQKhCgAIUgBAXAngBwKYBNUDNIG8DaAdgK4C2ARqgE4A0kJF1A-ALoC+kAglQOYDOUGILhI0ebvzaDg4ADap4kAIa8+AbiA): ```js /** * @typedef {[number, number?]} Args * * @type {Args} */ let args; ``` [In TypeScript](https://www.typescriptlang.org/play?jsx=0#code/DYUwLgBAhgTg5gZwFwQNoDsCuBbARiGAGgizwIH4BdAbiA): ```ts let args: [number, number?]; ``` **Expected behavior:** The `args` variable should have the same type in both cases. **Actual behavior:** * In JavaScript: `[number, number | null]` * In TypeScript: `[number, (number | undefined)?]` **Playground Link:** * [JavaScript](https://www.typescriptlang.org/play?strictNullChecks=true&jsx=0&useJavaScript=true#code/PQKhCgAIUgBAXAngBwKYBNUDNIG8DaAdgK4C2ARqgE4A0kJF1A-ALoC+kAglQOYDOUGILhI0ebvzaDg4ADap4kAIa8+AbiA): * [TypeScript](https://www.typescriptlang.org/play?jsx=0#code/DYUwLgBAhgTg5gZwFwQNoDsCuBbARiGAGgizwIH4BdAbiA): **Related Issues:** None