我不是在考虑 ?:(三元运算符)。有时我会在人们使用? 的YouTube 教程中观看。HTML 页面中的运算符,有时他们在 TS(typescript) 页面中使用?:。我不太清楚它们到底有什么不同?
那么使用 ? 在 Angular 中,以下是您可能会参考的三种用法。
安全运营商
当您在 HTML 中设置一个带有问号的值时,这是一个安全检查,因此您在访问变量之前检查它是否已定义。(尝试访问不存在的值会导致错误)。
下面的代码段将this.example
在检查文本之前检查有一个值,这会导致错误。如果在未定义的情况下访问文本,这几乎可以确保不受欢迎的行为。
<p>{{example?.text}}</p>
这可以确保一切安全,要阅读有关安全运算符的更多信息,请阅读此处的 Angular 文档
可选参数
我认为您正在寻找的下一个用途是函数/接口中的可选值。这意味着如果在没有 的情况下调用该接口将不会抛出错误,exampleValue
因为它现在已被定义为可选。
export interface Itest
{
exampleValue?: string; // optional
neededValue: string; // non-optional
}
或者在函数内,如果没有可选的指示符 ( ?
),如果函数被调用,则会发生错误。this.exampleFunction();
public exampleFunction(test?): void
{
console.log(test);
// this function can be called with or without test being passed in without causing an error.
}
更多例子可以在这篇关于可选参数的短文中找到
条件(三元)运算符
问题不是在寻找这个,而是认为将它作为另一种?
可以在使用中看到的情况下弹出是有意义的。
在打字稿中看到时,您可以在条件三元语句中使用它,(if / else)
如下所示。
const example = 'hello';
console.log(example === 'hello' ? 'im true' : 'im false');
这与编写以下语句相同。
const example = "hello";
if (example === 'hello')
{
console.log('im true');
}else
{
console.log('im false');
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句