How does javascript logical assignment work?

前端 未结 6 976
無奈伤痛
無奈伤痛 2020-12-01 08:06

In javascript, if we have some code such as

var a = \"one\";
var b = q || a;
alert (b);

The logical OR operator will assign a\'s value to b

6条回答
  •  刺人心
    刺人心 (楼主)
    2020-12-01 08:58

    IMHO - don't use for boolean type assignment. It can be confusing. As undefined !== false, ie false itself is a value.

    E.g. If u want to copy a field value from an object if and only if that field is defined

    var bar.value = false;
    var foo = true;
    
    var foo = bar.value || foo;  // ==> should be false as bar.value is defined
    

    For boolean type assignment, u should really use

    var foo = (bar.value !== undefined) ? bar.value : foo;
    

提交回复
热议问题