JavaScript - язык оригинального синтаксиса, логика которого позволяет надстраивать над жесткими конструкциями динамичные структуры данных, позволяющие оптимально решать поставленную задачу. Строки - самая важная форма представления данных. JS предлагает программисту удобный функционал для работы со строками и возможность создавать новые свойства строк.
String - основные данные
Данные и их размеры всегда имеют существенное значение. Основные данные - это строки. Числа, логические значения, битовые маски, счетчики и другие, вероятно целесообразные описания переменных имеют частное значение. Но главное - это строки, точнее объекты вообще и объекты строк в частности.
Вам будет интересно:Как сделать учетную запись локального типа и настроить ее в Windows?
По логике, JavaScript string и length (как свойство строки) никак не связаны. Всякое описание описание - это строка, хотя по формальному описанию:
- var str_1;
- var str_2 = '';
нет никакой гарантии, что первая или вторая переменная - это строка. Да, во втором случае переменной реально присвоено строчное значение. Но, по логике вещей, нет никакой гарантии, что в первом встреченном выражении str_2 будет играть роль строки.
В приведенном примере показано, насколько легко вычислить размер строки. Операторы:
- str = 123.45;
- str = '' + str;
- alert(str.length) дают значение "6".
В данном случае получить размер числа как строки JavaScript string.length напрямую не позволяет. Необходимо выполнить промежуточное преобразование.
Проблема в том, что числа в JavaScript занимают почетную роль, под них выделен надлежащий функционал и математические объекты. Но, по общему правилу, трансформация данных производится автоматически, и все, что есть в этом мире - это строки, включая числа.
Объекты и строки
Формально строка - это объект, у которого есть свойства. Длина строки - это свойство объекта строки. Далеко не все задачи считают длиной строки реальное ее содержание. Например, предложение естественного языка состоит из фраз, слов и символов. Естественно желание определять размеры в предложениях на уровне фраз, слов и символов. При этом пробелы вовсе не играют роли.
Написать объект строки (по смыслу - объект предложения) не сложно, и тогда свойство length на самом низком уровне - это количество символов без пробелов. На уровне слов это - количество слов, на уровне фраз - количество фраз.
Обобщая подобные объекты в единую систему, получим своего рода, динамичный справочник. JavaScript над length повесит скрытую «бирку» об относимости данного свойства к уровню вложенности и будет предоставлять точные данные о правильном количестве фраз, слов и символов.