title: BigInt and Number coercion by numeric comparison operators
body: <p>Will numeric comparison, between a BigInt and a Number, coerce one argument to BigInt, or coerce one argument to Number?</p>
  <p>For example, in the following, is <code>3n</code> coerced to <code>3</code>, or is <code>1</code> coerced to <code>1n</code>?</p>
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>console.log(3n &gt; 1) // true</code></pre>
  </div>
  </div>
  </p>
  <p>Both operands appear to be <a href="https://tc39.es/ecma262/#sec-islessthan" rel="nofollow noreferrer">converted to a &quot;mathematical value&quot;</a> in 4.k of the <code>IsLessThan</code> abstract operation; a process that is <a href="https://tc39.es/ecma262/#%E2%84%9D" rel="nofollow noreferrer">designated ℝ in the specification</a>.</p>
  <p>I have no idea what this means, however.</p>
  <p>I note that:</p>
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>console.log(19_999_999_999_999_998 &gt; 19_999_999_999_999_999n) // true</code></pre>
  </div>
  </div>
  </p>
  <p>Perhaps the &quot;mathematical value&quot;, ℝ, of 19,999,999,999,999,998, is the descriptor for the value 20,000,000,000,000,000, which is the closest possible IEEE754 representation?</p>
  <p>I still don't understand if coercion can be said to occur, given that a Number can have a fractional component, and a BigInt cannot.</p>