Javascript 空检查前要执行的三元表达式

Javascript 空检查前要执行的三元表达式,javascript,reactjs,angular,typescript,Javascript,Reactjs,Angular,Typescript,如何使用三元表达式来处理以下块 if(paginator) { paginator.pageIndex = 1; } 我试着用这个: paginator.pageIndex = paginator ? 1 : undefined 但我不确定这是一个好主意还是有一种优雅的方式。因为当paginator未定义时,将其属性设置为未定义似乎不是一个好主意。那么,我可以在这个场景中使用三元运算符吗?我会坚持你最初的建议 为什么??如果paginator未定义,则“paginator.pageI

如何使用三元表达式来处理以下块

if(paginator) {
    paginator.pageIndex = 1;
}
我试着用这个:

paginator.pageIndex = paginator ? 1 : undefined

但我不确定这是一个好主意还是有一种优雅的方式。因为当
paginator
未定义时,将其属性设置为未定义似乎不是一个好主意。那么,我可以在这个场景中使用三元运算符吗?

我会坚持你最初的建议

为什么??如果paginator未定义,则“paginator.pageIndex”将导致代码引发异常


在这种情况下,我将坚持使用不会引发异常的原始代码。

为什么第一个代码需要缩短?请注意,如果(paginator)paginator.pageIndex=1,您认为节省垂直空间可以获得很多好处,则可以省略括号并将其放在一行中paginator未定义时,将其属性设置为未定义似乎不是一个好主意”-当
paginator
未定义时,那么您首先就无法设置属性o.OI VtC,因为当前形式的问题没有意义(见我上面的评论)这并不是因为答案可能是基于观点的。@Andreas OP所要求的对我来说是有意义的。他们想要的不是
if
语句,而是一行。条件运算符就是这样做的一种尝试。正如你所指出的,这不起作用,但基本上这就是“如何做”的问题。然而,我最大的问题是为什么要这么做。有一些较短的备选方案,但它们是否值得使用取决于原因。此外,许多类似的问题充其量也只是一个问题。通常它们甚至都不是问题。我同意POB的观点——现在只是“如何更好地格式化代码?”.非常感谢你们两位。那就像以前一样使用是个好主意。