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.)
質問
I found the following in a TypeScript declaration file for Angular:
interface IDirective{
compile?:
(templateElement: IAugmentedJQuery,
What does the ?:
after compile do?
解決
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.