相关疑难解决方法(0)

JavaScript中是否有"null coalescing"运算符?

Javascript中是否有空合并运算符?

例如,在C#中,我可以这样做:

String someString = null;
var whatIWant = someString ?? "Cookies!";
Run Code Online (Sandbox Code Playgroud)

我可以为Javascript找出的最佳近似值是使用条件运算符:

var someString = null;
var whatIWant = someString ? someString : 'Cookies!';
Run Code Online (Sandbox Code Playgroud)

这有点ick嘿恕我直言.我可以做得更好吗?

javascript operators null-coalescing-operator null-coalescing

1305
推荐指数
11
解决办法
31万
查看次数

一个有点痛苦的三重嵌套三元运算符

我查看了Raphael.js源代码,了解他如何将RGB值转换为HSB.我发现了他所做的功能,当我碰到这个漂亮的三嵌套三元运算符时,我正在将它转换为Python:

H = (C == 0 ? null :
    V == r ? (g - b) / C :
    V == g ? (b - r) / C + 2 :
             (r - g) / C + 4
    );
Run Code Online (Sandbox Code Playgroud)

它引发了我一个循环,因为Python没有Javascript所做的那种三元运算符.我花了一段时间查看它并最终将这个有点理智的代码(仅使用if/else)从中删除:

if (C == 0) {
    H = null;
} else {
    if(V == r) {
        H = (g - b) / C;
    } else {
        if(V == g) {
            H = (b - r) / C + 2; …
Run Code Online (Sandbox Code Playgroud)

javascript if-statement ternary-operator

24
推荐指数
5
解决办法
4万
查看次数