仅当CoffeeScript中存在变量时才从变量中赋值的最简洁的方法是什么?

仅当CoffeeScript中存在变量时才从变量中赋值的最简洁的方法是什么?,coffeescript,Coffeescript,有人知道实现以下目标的更简洁/优雅的方法吗 A=B如果B? 谢谢 编辑: 我正在寻找一个只引用a和B一次的解决方案。并将编译为 if(typeof B!==“undefined”&&B!==null){A=B;} 或者其他类似的东西 写这篇短文有助于提高以下内容的可读性: someObject[someAttribute]=(someOtherObject[someOtherAttribute]如果someOtherObject[someOtherAttribute]?) 这就是我提问的动机。你

有人知道实现以下目标的更简洁/优雅的方法吗

A=B如果B?

谢谢

编辑: 我正在寻找一个只引用a和B一次的解决方案。并将编译为
if(typeof B!==“undefined”&&B!==null){A=B;}

或者其他类似的东西

写这篇短文有助于提高以下内容的可读性:
someObject[someAttribute]=(someOtherObject[someOtherAttribute]如果someOtherObject[someOtherAttribute]?)

这就是我提问的动机。

你可以说:

a = b ? a
例如,这:

a = 11
a = b ? a
console.log(a)
b = 23
a = b ? a
console.log(a)​
将在控制台中为您提供
11
23
(演示:)

可能类似于:

A=_ if (_=B)?
扩大:

if ((_ = B) != null) {
  A = _;
}

这将用B中的任何内容覆盖A,但前提是它不为null,只引用两个脚本一次。

不确定Coffee脚本,但您可以在常规javascript中使用OR运算符,如下所示:

a=b|a

在我看来已经非常优雅了?你还期望什么?A和B只引用一次的东西。对不起,我原来的问题确实不够具体。最佳:咖啡脚本:
a=b?a
Javascipt:
var a;a=b的类型!==“未定义”&&b!==无效的b:a好咖啡脚本:
A=B如果B?
Javascript:
var A;如果(typeof B!==“undefined”&&B!==null){A=B;}
我会选择“mu太短”的答案。谢谢这确实要短得多。然而,我正在寻找一个只引用a和B一次的解决方案。对不起,我原来的问题在这方面缺乏具体性。顺便说一句,我刚注意到你的用户名。意外发现?@user473911:someArray
是数组还是对象?@muistooshort:谢谢你的打字。这是我心目中的一个对象……尽管数组最终是javascript中的对象。@LarryBattle,这确实是迄今为止最好的答案。