JQuery相当于Ruby的a || b

ssc*_*rus 2 javascript ruby

在Ruby中,我可以编写a || b并且函数将选择a是否存在,如果不存在,b.

我怎么能在JQuery中做这个,而不用写一些非常麻烦的东西,比如:

if (a){
  a
} else {
  b
}
Run Code Online (Sandbox Code Playgroud)

另外,JQuery是否具有与Ruby相同的功能a ||= b?

nav*_*een 8

jQuery只是一个JavaScript库,在JavaScript中我们也是一样的.

var c = a || b;
Run Code Online (Sandbox Code Playgroud)

这是因为

如果第一个对象是真实的,则会返回该对象.否则,返回第二个对象.


小智 6

在JavaScript中,a || b评估第一个truthy值(如果两者都是假的,则计算最后一个值),就像在Ruby中一样.(请记住,jQuery只是JavaScript 的库.)

但是,JavaScript 比Ruby 有更多的虚假(非真实值),因此可能需要谨慎.请参阅Truthy和Falsy:当JavaScript中的所有不相等时.

例如,在JavaScript中:虽然它会在Ruby中进行评估"" || "foo","foo"但仍然会产生结果"".

快乐的编码.


是的,JavaScript支持x Q= y所有二元运算符x = x Q y.一个简单的方法是找到它,然后看看:)