Ciąg może być postrzegany jako najprostszy obiekt, który może pomieścić i manipulować tekstem i jako takie funkcje, które działają na łańcuchach, nie powinny być traktowane jako metody. Z drugiej strony javascript jest przede wszystkim językiem programowania sieciowego, a praca z identyfikatorami URI jest dość powszechnym użyciem dla napisów w języku; w tym przypadku coś takiego jak lastName.encodeURIComponent()
byłoby całkiem przydatne.Dlaczego funkcje takie jak escape, unescape, itp., A nie metody w obiekcie String?
Dlaczego rzeczy takie jak encodeURIComponent i unescape są funkcjami, a nie metodami w obiekcie String? Czy istnieje tutaj jakaś zasada CS, czy też był to subiektywny wybór jednego z twórców języka?
Oczywiście nie każda funkcja działająca na łańcuchu musi znajdować się w obiekcie napisów, ale gdzie i jak ludzie decydują, gdzie narysować linię?
to pytanie, dlaczego 'eval' jest również globalną, a nie metodą dla łańcuchów. – Joseph
Tak, to trochę tak, jakbyśmy o to prosili. Trochę poprawię pytanie. – Fuser97381