仅当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,这确实是迄今为止最好的答案。