Javascript 使用没有true语句的ternery表达式初始化?

Javascript 使用没有true语句的ternery表达式初始化?,javascript,flowtype,Javascript,Flowtype,有人能解释一下这个代码的作用吗 尤其是decorator?:?DraftDecoratorType,它不是像if语句那样的ternery运算符吗?这看起来像一个包含额外键入信息的 它不是三元的,这里是decorator:意味着decorator是一个可选参数。这不是三元表达式,而是 decorator?是 可选参数将接受缺少的、未定义的或匹配类型。但他们不会接受null ?DraftDecoratorType为 类型可能接受提供的类型以及null或undefined 这看起来像是TypeScri

有人能解释一下这个代码的作用吗

尤其是
decorator?:?DraftDecoratorType,
它不是像if语句那样的ternery运算符吗?

这看起来像一个包含额外键入信息的


它不是三元的,这里是
decorator:
意味着
decorator
是一个可选参数。

这不是三元表达式,而是

decorator?

可选参数将接受缺少的、
未定义的
或匹配类型。但他们不会接受
null

?DraftDecoratorType

类型可能接受提供的类型以及
null
undefined


这看起来像是TypeScript,有一些额外的语法…这是TypeScript,
decorator?
意味着
decorator
是一个可选参数这不是TypeScript,但flowtype
decorator?
是可选参数,
?DraftDecoratorType
可能是类型。最好从文档开始这不是typescript,而是flowtype@AlekseyL. 值得补充一点作为答案。
class EditorState{
static createWithText(
    text: string,
    decorator?: ?DraftDecoratorType,
  ): EditorState {
    return EditorState.createWithContent(
      ContentState.createFromText(text),
      decorator,
    );
  }
}