title: Why is String.prototype.substr() deprecated?
body: <p>It is mentioned on the ECMAScript standard <a href="https://www.ecma-international.org/ecma-262/9.0/index.html#sec-additional-ecmascript-features-for-web-browsers" rel="noreferrer">here</a> that :</p>
  <blockquote>
  <p>... These features are not considered part of the core ECMAScript
  language. Programmers should not use or assume the existence of these
  features and behaviours when writing new ECMAScript code. ECMAScript
  implementations are discouraged from implementing these features
  unless the implementation is part of a web browser or is required to
  run the same legacy ECMAScript code that web browsers encounter.</p>
  </blockquote>
  <p>There is also a red warning on MDN : <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr" rel="noreferrer">String.prototype.substr() MDN doc</a></p>
  <p>Does anyone know why (ECMAScript standard say that) programmers should not use or assume the existence of <code>String.prototype.substr</code> ?</p>