Javascript 是否可以使用三元条件运算符访问正在计算的值?

Javascript 是否可以使用三元条件运算符访问正在计算的值?,javascript,typescript,Javascript,Typescript,我想知道在使用三元条件运算符时是否可以访问所考虑的值 e、 g: const dict=newmap(); 常量x=dict.get(“foo”)!=未定义?dict.get(“foo”):新条(); 有没有办法摆脱这个三元表达式中重复的dict.get(“foo”)?没有,?:操作符正在计算表达式。您正在给它一个表达式dict.get(“foo”)!=未定义的,这是一个布尔表达式。?:运算符无法仅隔离该表达式中的dict.get(“foo”),以供以后参考 如果您需要特定的!==未定义的te

我想知道在使用三元条件运算符时是否可以访问所考虑的值

e、 g:

const dict=newmap();
常量x=dict.get(“foo”)!=未定义?dict.get(“foo”):新条();

有没有办法摆脱这个三元表达式中重复的
dict.get(“foo”)

没有,
?:
操作符正在计算表达式。您正在给它一个表达式
dict.get(“foo”)!=未定义的
,这是一个布尔表达式。
?:
运算符无法仅隔离该表达式中的
dict.get(“foo”)
,以供以后参考

如果您需要特定的
!==未定义的
test,然后是no,没有其他方法。为了避免重复的方法调用,您只能将其重构为:

let x = dict.get("foo");
if (x === undefined) {
    x = new Bar();
}
但是,如果真实的比较可以代替对
未定义的测试,这是常见的习惯用法:

const x = dict.get("foo") || new Bar();

否,
?:
运算符正在计算表达式。您正在给它一个表达式
dict.get(“foo”)!=未定义的
,这是一个布尔表达式。
?:
运算符无法仅隔离该表达式中的
dict.get(“foo”)
,以供以后参考

如果您需要特定的
!==未定义的
test,然后是no,没有其他方法。为了避免重复的方法调用,您只能将其重构为:

let x = dict.get("foo");
if (x === undefined) {
    x = new Bar();
}
但是,如果真实的比较可以代替对
未定义的测试,这是常见的习惯用法:

const x = dict.get("foo") || new Bar();

您是否与
!==未定义的
?那么不:没有优雅的速记。否则,如果只是一个真实的测试也可以,那么有一个常见的习惯用法……你是不是特别嫁给了
!==未定义的
?那么不:没有优雅的速记。否则,如果只是一个真实的测试也可以,那么有一个常见的习语…