Loading ...
Sorry, an error occurred while loading the content.

3118Just got confused with the `?` operator

Expand Messages
  • Felix E. Klee
    Feb 5, 2013
    • 0 Attachment
      Well, today I'm not in good shape, and I expected the following code to
      output just one zero. The code passes JSLint.

      /*jslint devel: true */

      (function () {
      'use strict';

      var isOneWayFlight = true, i;

      for (i = 0; i < isOneWayFlight ? 1 : 2; i += 1) {
      console.log(i);
      }
      }());

      Instead, the runtime enters an infinite loop. It outputs: 0, 1, 2, ...

      Correct version of the for statement, doing what I want:

      for (i = 0; i < (isOneWayFlight ? 1 : 2); i += 1) {
      console.log(i);
      }

      That's just FYI.
    • Show all 8 messages in this topic