/**
 * 非布尔值的与(&&)与或(||)运算
 * 1.先将其转换成布尔值再做运算,并且返回原值
 * 2.与(&&)运算:
 *   a.如果第一个值为true,则返回第二个值
 *   b.如果第一个值为false,则直接返回第一个值
 * 3.或(||)运算
 *   a.如果第一个值为true,则直接返回第一个值
 *   b.如果第一个值为false,则返回第二个值
 */
// true && false
console.log(`1 && 0 = ${1 && 0}`); // 1 && 0 = 0

// true && true
console.log(`1 && 2 = ${1 && 2}`); // 1 && 2 = 2

// false && true
console.log(`null && 1 = ${null && 1}`); // null && 1 = null

// false && false
console.log(`null && NaN = ${null && NaN}`); // null && NaN = null

// true || false
console.log(`1 || 0 = ${1 || 0}`); // 1 || 0 = 1

// true || true
console.log(`1 || 2 = ${1 || 2}`); // 1 || 2 = 1

// false || true
console.log(`null || 1 = ${null || 1}`); // null || 1 = 1

// false || false
console.log(`null || NaN = ${null || NaN}`); // null || NaN = NaN
01-04 05:58