javascript三元运算符,用于根据条件填充变量

javascript三元运算符,用于根据条件填充变量,javascript,performance,Javascript,Performance,我有一段代码: grp = $.cookies.get('grp'); if(grp == null){grp = 0} 1-如何使用三元运算符编写它? 2-在性能方面,如果我们有很多三元形式,三元形式更好还是更简单 提前感谢请执行以下操作: grp = $.cookies.get('grp'); grp = (grp == null) ? 0 : grp; 或 我认为性能上的差异可以忽略不计,在这种情况下,重要的是代码的可读性 添加:例如,如果要检查对象并在不存在时创建它,则: so

我有一段代码:

grp = $.cookies.get('grp');
if(grp == null){grp = 0}  
1-如何使用三元运算符编写它? 2-在性能方面,如果我们有很多三元形式,三元形式更好还是更简单

提前感谢

请执行以下操作:

grp = $.cookies.get('grp');
grp = (grp == null) ? 0 : grp; 

我认为性能上的差异可以忽略不计,在这种情况下,重要的是代码的可读性

添加:例如,如果要检查对象并在不存在时创建它,则:

some_obj = window.some_obj || {};
做:

我认为性能上的差异可以忽略不计,在这种情况下,重要的是代码的可读性

添加:例如,如果要检查对象并在不存在时创建它,则:

some_obj = window.some_obj || {};
做:

我认为性能上的差异可以忽略不计,在这种情况下,重要的是代码的可读性

添加:例如,如果要检查对象并在不存在时创建它,则:

some_obj = window.some_obj || {};
做:

我认为性能上的差异可以忽略不计,在这种情况下,重要的是代码的可读性

添加:例如,如果要检查对象并在不存在时创建它,则:

some_obj = window.some_obj || {};

要避免类型强制,请始终使用
==
运算符。也不鼓励使用
null
检查。当值未定义时,javascript总是返回
undefined

大多数情况下,创建助手函数以避免重复代码更容易

var grp = defaultIfUndefined($.cookies.get('grp'), 'My default value');

function defaultIfUndefined (value, defaultValue) {
    if (typeof value === 'undefined') {
        return defaultValue;
    }
    return value;
}

要避免类型强制,请始终使用
==
运算符。也不鼓励使用
null
检查。当值未定义时,javascript总是返回
undefined

大多数情况下,创建助手函数以避免重复代码更容易

var grp = defaultIfUndefined($.cookies.get('grp'), 'My default value');

function defaultIfUndefined (value, defaultValue) {
    if (typeof value === 'undefined') {
        return defaultValue;
    }
    return value;
}

要避免类型强制,请始终使用
==
运算符。也不鼓励使用
null
检查。当值未定义时,javascript总是返回
undefined

大多数情况下,创建助手函数以避免重复代码更容易

var grp = defaultIfUndefined($.cookies.get('grp'), 'My default value');

function defaultIfUndefined (value, defaultValue) {
    if (typeof value === 'undefined') {
        return defaultValue;
    }
    return value;
}

要避免类型强制,请始终使用
==
运算符。也不鼓励使用
null
检查。当值未定义时,javascript总是返回
undefined

大多数情况下,创建助手函数以避免重复代码更容易

var grp = defaultIfUndefined($.cookies.get('grp'), 'My default value');

function defaultIfUndefined (value, defaultValue) {
    if (typeof value === 'undefined') {
        return defaultValue;
    }
    return value;
}


var grp=$.cookies.get('grp')| | 0
@elclars使用
| |
表示条件不能是
0
,并且可能会产生非常不希望的结果。@Bart:这取决于情况,是的。但是cookie要么被设置,要么不被设置,空cookie也是不可取的,如果它是
0
,那么它也是
0
@elclanrs,这也取决于它<代码>“可能是有效值。最好的做法是始终使用
==
来避免类型强制@巴特:我喜欢类型强制,你可以利用它对你有利,事实上我使用的
==
===
多。如果您有空字符串作为有效值,那么就有问题了。克罗克福德有一些正确的观点,但并不像他所说的那样邪恶。这个问题合法地使用了类型强制(如果是无意的话)
var grp=$.cookies.get('grp')| | 0
@elclanrs使用
|
意味着条件不能是
0
,并且可能会有非常不希望的结果。@Bart:这取决于情况,是的。但是cookie要么被设置,要么不被设置,空cookie也是不可取的,如果它是
0
,那么它也是
0
@elclanrs,这也取决于它<代码>“可能是有效值。最好的做法是始终使用
==
来避免类型强制@巴特:我喜欢类型强制,你可以利用它对你有利,事实上我使用的
==
===
多。如果您有空字符串作为有效值,那么就有问题了。克罗克福德有一些正确的观点,但并不像他所说的那样邪恶。这个问题合法地使用了类型强制(如果是无意的话)
var grp=$.cookies.get('grp')| | 0
@elclanrs使用
|
意味着条件不能是
0
,并且可能会有非常不希望的结果。@Bart:这取决于情况,是的。但是cookie要么被设置,要么不被设置,空cookie也是不可取的,如果它是
0
,那么它也是
0
@elclanrs,这也取决于它<代码>“可能是有效值。最好的做法是始终使用
==
来避免类型强制@巴特:我喜欢类型强制,你可以利用它对你有利,事实上我使用的
==
===
多。如果您有空字符串作为有效值,那么就有问题了。克罗克福德有一些正确的观点,但并不像他所说的那样邪恶。这个问题合法地使用了类型强制(如果是无意的话)
var grp=$.cookies.get('grp')| | 0
@elclanrs使用
|
意味着条件不能是
0
,并且可能会有非常不希望的结果。@Bart:这取决于情况,是的。但是cookie要么被设置,要么不被设置,空cookie也是不可取的,如果它是
0
,那么它也是
0
@elclanrs,这也取决于它<代码>“可能是有效值。最好的做法是始终使用
==
来避免类型强制@巴特:我喜欢类型强制,你可以利用它对你有利,事实上我使用的
==
===
多。如果您有空字符串作为有效值,那么就有问题了。克罗克福德有一些正确的观点,但并不像他所说的那样邪恶。这个问题合法地使用了类型强制(如果是无意的话)我可以放置一个对象或数组而不是字符串或数字吗?根据最上面的评论,如何将此方法用于非cookie的东西?@Homam请参阅补充答案,你的意思是这样的吗…?我可以用一个对象或数组来代替字符串或数字吗?根据上面的注释,如何将这个方法用于