Closed
Description
Suggestion
TypeScript already supports optional parameters and fields with a question mark.
Why not extend this feature to local variables as well, to allow them having an undefined value, e.g.
Use Cases/Examples
let optional?: number = 123
optional = undefined // allowed
in this case specifying number
type is also optional:
let optional? = 123
This would complete the usage of question mark ?
as nullablity/unefineability operator, similar to Kotlin.
Currently, defining an optional variable requires writing a lot of noise, e.g.
let optional: number|undefined = undefined // too verbose
Checklist
My suggestion meets these guidelines:
- This wouldn't be a breaking change in existing TypeScript/JavaScript code
- This wouldn't change the runtime behavior of existing JavaScript code
- This could be implemented without emitting different JS based on the types of the expressions
- This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
- This feature would agree with the rest of TypeScript's Design Goals.