30-06-2018 15:00

Функция определения размера JavaScript: string.length

JavaScript - язык оригинального синтаксиса, логика которого позволяет надстраивать над жесткими конструкциями динамичные структуры данных, позволяющие оптимально решать поставленную задачу. Строки - самая важная форма представления данных. JS предлагает программисту удобный функционал для работы со строками и возможность создавать новые свойства строк.

String - основные данные

Данные и их размеры всегда имеют существенное значение. Основные данные - это строки. Числа, логические значения, битовые маски, счетчики и другие, вероятно целесообразные описания переменных имеют частное значение. Но главное - это строки, точнее объекты вообще и объекты строк в частности.

How dangerous is the new coronavirus?You will be interested:How dangerous is the new coronavirus?

По логике, 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 повесит скрытую «бирку» об относимости данного свойства к уровню вложенности и будет предоставлять точные данные о правильном количестве фраз, слов и символов.



Источник