title: Why I can't convert string to number without losing precision in JS?
body: <p>We all know that <code>+, Number()</code> and <code>parseInt()</code> can convert string to integer.<br>
  But in my case I have very weird result.<br>
  I need to convert string <code>'6145390195186705543'</code> to number.</p>
  
  <pre><code>let str = '6145390195186705543';
  let number = +str; // 6145390195186705000, but should be: 6145390195186705543 
  </code></pre>
  
  <p>Could someone explain why and how to solve it?</p>