Skip to content

Conversation

@sumn2u
Copy link

@sumn2u sumn2u commented Apr 21, 2015

No description provided.

@sumn2u sumn2u closed this Apr 22, 2015
@sumn2u sumn2u reopened this Apr 22, 2015
@goatslacker
Copy link
Collaborator

@hshoff any opinions here?

@hshoff
Copy link
Member

hshoff commented Apr 28, 2015

Let's just add an extra bullet to Conditional Operators & Equality under Use shortcuts. that says For readability, don't nest ternary operators.

(i realize there are fancier ways to write fizzbuzz)

// bad
for (var i = 1; i <= 16; i++) {
  var msg = i % 3 === 0 ? i % 5 === 0 ? 'FizzBuzz' : 'Fizz' : i % 5 === 0 ? 'Buzz' : '';
  console.log(msg || i);
}

// good
for (var i = 1; i <= 16; i++) {
  var msg = '';
  if (i % 3 === 0) {
    if (i % 5 === 0 {
      msg = 'FizzBuzz';
    } else {
      msg = 'Fizz';
    }
  } else if (i % 5 === 0) {
    msg = 'Buzz'
  } 
  console.log(msg || i);
}

// good
var superpower = isSuperman(user) ? 'flight' : 'none';

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use an Oxford comma here in this list - Comparison Operators, Conditional (Ternary) Operators, & Equality

@cmalard
Copy link
Contributor

cmalard commented Nov 30, 2015

Hello there,

This cases should be resolved too :

var y = a ?
  longButSimpleOperandB : longButSimpleOperandC;
var z = a ?
  moreComplicatedB :
  moreComplicatedC;

or

var z = a
  ? moreComplicatedB
  : moreComplicatedC;

@ljharb
Copy link
Collaborator

ljharb commented Jan 14, 2016

Related to #673.

msg = 'Buzz'
}
console.log(msg || i);
}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you keep this code, please fix indent.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants