Una cadena podría ser vista como el objeto más simple que puede contener y manipular texto, y como tal, las funciones que actúan sobre cadenas no necesariamente deben agruparse como métodos. Por otro lado, javascript es principalmente un lenguaje de programación web, y trabajar con URI es un uso bastante común para cadenas en el lenguaje; en este caso, algo como lastName.encodeURIComponent()
sería bastante útil.¿Por qué son funciones como escape, unescape, etc., no métodos en el objeto String?
¿Por qué cosas como encodeURIComponent y unescape son funciones y no métodos en el objeto String? ¿Hay algún principio de CS en funcionamiento aquí, o fue una elección subjetiva de uno de los diseñadores del lenguaje?
Obviamente no todas las funciones que operan en una cadena deben estar en el objeto cadena, pero ¿dónde y cómo deciden las personas dónde dibujar la línea?
es como preguntar por qué 'eval' también era un método global y no un método para cadenas. – Joseph
Sí, es algo así como preguntar eso. Voy a enmendar la pregunta un poco. – Fuser97381