1
let music = 'on';
let phone = 'on';
if (music === 'off' || phone === 'off'){
  console.log('Music or phone is off');
} if (music === 'on' && phone === 'on') {
  console.log('music is playing');
} if (music === 'off') {
  console.log('music is off');
} if (phone === 'off') {
  console.log('phone is off');enter code here
} if (music === 'off' && phone === 'off') {
  console.log('Both Phone and Music if off');
} else {
  console.log('Dont know why music is not playing');
}

It is displaying the else statement no matter what I only want it to display the else statement if if none of the if statements apply.

Purple
  • 11
  • 1

2 Answers2

3

You want to use if-else-if not if-else.

let music = 'on';
let phone = 'on';
if (music === 'off' || phone === 'off'){
  console.log('Music or phone is off');
} else if (music === 'on' && phone === 'on') {
  console.log('music is playing');
} else if (music === 'off') {
  console.log('music is off');
} else if (phone === 'off') {
  console.log('phone is off');enter code here
} else if (music === 'off' && phone === 'off') {
  console.log('Both Phone and Music if off');
} else {
  console.log('Dont know why music is not playing');
}

So now it only executes if none of the if's execute.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/if...else

Suresh Atta
  • 120,458
  • 37
  • 198
  • 307
0

Assuming your ifs are all correct (you don't complain about them in your question). So you must be expecting other values than on or off...

let music = 'on';
let phone = 'on';
if (music === 'off' || phone === 'off'){
  console.log('Music or phone is off');
}
if (music === 'on' && phone === 'on') {
  console.log('music is playing');
}
if (music === 'off') {
  console.log('music is off');
}
if (phone === 'off') {
  console.log('phone is off');enter code here
}
if (music === 'off' && phone === 'off') {
  console.log('Both Phone and Music if off');
}
//else {
if (music === 'on' && phone !== 'off' && phone !== 'on' ||
    phone === 'on' && music !== 'off' && music !== 'on' ) { // that's all that is left to test
  console.log('Dont know why music is not playing');
}
RaphaMex
  • 2,781
  • 1
  • 14
  • 30