От первого html тега, до SEO оптимизации порталов
Украина
+380 63 85 62 538

Javascript и пробелы в коде

Пробелы в javascript

Javascript и пробелы в коде

Javascript, как практически и все остальные языки программирования не волнуют пустоты. По пустотами мы подразумеваем пробелы, табуляцию и переносы строк. Имея файл с исходным кодом скрипта, я могу поставить по несколько пустых строк между каждым из операторов и это никак не повлияет на выполнение кода:

Данный язык программирования просто игнорирует пустые символы и читает код, так как он есть. Он игнорирует разрывы строк, потому, что понимает по точке с запятой ; где заканчивается оператор.

На самом деле благодаря четкому указанию, где заканчивается оператор мы можем собрать их в одну строчку, отделяя друг от друга ;.

У JS нет с этим никаких проблем, и часто так делают с готовыми библиотеками, для сжатия веса документа. Но так наш код хуже читается и в нем будет труднее найти нужный нам оператор для правки или замены. И я буду всегда использовать общее правило — один оператор = одна строка.

Но это не все, даже внутри операторов пустоты игнорируются, хотя не везде, например вот в таком случае они игнорируются:

А если убрать пробел между var и именем переменной, это уже будет ошибкой. Хотя между именем переменной, знаком = и присвоенным значением пробелы не обязательны!

Но есть пробелы, которые имеют огромное значение и их присутствие испортит нашу программу, давайте рассмотрим эти оба примера.

Итак у нас есть запись:

Это оператор инкремента (добавление к переменной единицы), в котором два знака сложения являются одним целым и между ними не допустимы пробелы. Мы можем записать это в таком виде:

или же добавить пробел после :, но никак внутри ++. Нельзя вставлять пробелы между такими операторами, как: ++, ==, —, +=, -+ и т.д., это то, как будто бы вы пытались поставить пробел внутри слова var, что естественно привело бы к сбою программы.

Вторым важным значением для пробелов является строковое значение:

Эти две строки будут иметь разный вид отображения в браузере, внутри строки пробелы учитываются и это нужно помнить. Но что делать, если мне нужно перенести строку внутри string? Наверное многие из вас подумали о использование тега <br>, но это не так! Банальный перенос троки тоже не приведет к правильной работе или желаемому решению:

Это не верное решение, так давайте тогда найдем его. Для разделения строк и перенос второй части на вторую строку нужно дать подсказку для javascript, и это записывается при помощи обратного слеша и литеры n, давайте взглянем на пример:

Вот так желается правильный перенос внутри строки, вы наверное заметили, что знак \n стоит рядом со следующим словом и между ними нет пробелов, это потому, что js понимает этот специальный символ и игнорирует рядом стоящее слово, а просто делает перенос троки. Сохраните себе данный пробел и убедитесь в его работоспособности.

Когда вы сохранили пример и просмотрели на результат в браузере, то наверное заметили, что введенное вами имя, было склеено со словом Привет, а все потому, что это есть конкатенация или склеивание двух строк вместе. Я создал переменную massage, которой задал значение Привет, а затем склеил их при вызове оператором alert. Давайте исправим этот момент, нам нужно сделать, чтобы в итоге человек получал что-то вроде такого: Привет, Андрей. Не вопрос идем в нашу переменную massage и внутри значения после Привет, ставим запятую и пробел, перед вторыми кавычками, как в примере ниже:

И теперь мы получаем желаемое значение, и это еще одна причина, по которой мы будем считать пробел значащим символом.

В последующих занятиях мы будем все больше использовать знаков пробелов и табуляций, для javascript они не значат ничего, но нам помогут красиво и читабельно форматировать код и лучше разбираться в написании программ на этом языке.

  1. ЛюдмилаЛюдмила07-10-2020

    Очень подробно и профессионально написана статья. Даже несведущему человеку должно быть все понятно. И действительно, если самому можно разобраться, то зачем оплачивать. И тем более, что есть время, чтобы разбираться. так приобретается новый навык. Возможно и новая работа.

Написать ответ

.