title: Why are functions like escape, unescape, etc, not methods on the String object?
body: <p>A string could be seen as the simplest object that can hold and manipulate text, and as such functions that act on strings should not necessarily be lumped in as methods. On the other hand, javascript is primarily a web programming language, and working with URIs is quite a common use for strings in the language; in this case something like <code>lastName.encodeURIComponent()</code> would actually be quite useful.</p>
  
  <p>Why things like encodeURIComponent and unescape are functions and not methods on the String object? Is there some CS principle at work here, or was it a subjective choice by one of the designers of the language?</p>
  
  <p>Obviously not every function that operates on a string needs to be in the string object, but where and how do people decide where to draw the line?</p>