我是角度2和打字稿的新手。 我正在看
export interface EjectTaskOptions extends BuildOptions {
force?: boolean;
app?: string;
}
在一些打字稿中的例子。它是什么意思(?:
)?
它是三元运算符(只有错误条件)还是其他一些运算符?
提前致谢。
答案 0 :(得分:16)
?
运算符表示该属性可以是nullable
/可选。它只是意味着如果您未在实现中实现此属性,编译器将不会抛出错误。
答案 1 :(得分:4)
nullable
变量声明但使用?:
Elvis operator
符号
It Code看起来像
let displayName = user.name ?: "";
它在typescript / javascript / angular中不可用,与||
基本相同
更多详情:Comparison of Ternary operator, Elvis operator, safe Navigation Operator and logical OR operators
答案 2 :(得分:3)
您可以使用??运算符!
const test: string = null;
console.log(test ?? 'none');
这将打印“ none”,因为test为null。如果有测试值,它将打印该值。您可以在这里playground typescript
尝试答案 3 :(得分:1)
Elvis运营商仅适用于。不适用于[]。
之类的其他解除引用运算符作为解决方法使用
config: './config.js'