 <p>It's a high tech operator that guarantees a syntax error when used like that.</p> <p>In it's normal use, you might see it used in object literal syntax to denote key:value pairs;</p> <pre><code>var object = { "name": "value", "name2": "value2" } </code></pre> <p>It can also be used to define a <a href="https://developer.mozilla.org/en/JavaScript/Reference/Statements/label">label</a> (less common).</p> <pre><code>loop1: for (var i=0;i&lt;10; i++) { for (var j=0;j&lt;10;j++) { break loop1; // breaks out the outer loop } } </code></pre> <p>And it's part of the ternary operator;</p> <pre><code>var something = conditional ? valueIfTrue : valueIfFalse; </code></pre>