What Does? : Mean in Typescript?
I Found the Following in a Typescript Declaration File for Angular: Interface Idirective{ Compile? : (Templateelement: Iaugmentedjquery, What Does the? : After...
I found the following in a TypeScript declaration file for Angular:
interface IDirective{
compile?:
(templateElement: IAugmentedJQuery,
What does the ?: after compile do?
2 Answers
See: Walkthrough: Interfaces | TypeScript :: Describing Simple Types.
Basically, ? marks the member as being optional in the interface.
(EDIT: As noted in comments, this is not restricted to interfaces.)
In this case, the ?: is not a single operator, but rather two operators:
?(optional),:(specify type).
In other languages/cases, ?: would be the Elvis Operator.