Home > Software design >  the logic here doesn't make sense in javascript
the logic here doesn't make sense in javascript

Time:07-17

cellColor = {};
cellColor['cel32'] = 'blue';
cellColor['cel24'] = 'blue';
cellColor['cel16'] = 'blue';
cellColor['cel8'] = 'blue';

console.log(
  (((cellColor['cel32'] === cellColor['cel24']) === cellColor['cel16']) ==
    cellColor['cel8']) ==
  'blue',
);

//the output is false here why?

CodePudding user response:

You are comparing boolean with blue so that will return false

you are comparing true with blue which will return false.

cellColor = {};
cellColor['cel32'] = 'blue';
cellColor['cel24'] = 'blue';
cellColor['cel16'] = 'blue';
cellColor['cel8'] = 'blue';

const a = cellColor['cel32'] === cellColor['cel24'];
console.log(a); // true

const b = cellColor['cel16'];
// Here a is true and b is blue
const c = a === b;
console.log(c); // true is not equal to 'blue' so return false

// Here c is false and cellColor['cel8'] is blue
const d = c === cellColor['cel8'];
console.log(d); // false is not equal to 'blue' so return false

const e = d === 'blue';
console.log(e);// false is not equal to 'blue' so return false

cellColor = {};
cellColor['cel32'] = 'blue';
cellColor['cel24'] = 'blue';
cellColor['cel16'] = 'blue';
cellColor['cel8'] = 'blue';

const a = cellColor['cel32'] === cellColor['cel24'];
console.log(a); // true

const b = cellColor['cel16'];
const c = a === b;
console.log(c); // true is not equal to 'blue' so return false

const d = c === cellColor['cel8'];
console.log(d); // false is not equal to 'blue' so return false

const e = d === 'blue';
console.log(e);// false is not equal to 'blue' so return false

  • Related