Выразительный JavaScript - [7]
Если выражение – это фрагмент предложения, то инструкция – это предложение полностью. Программа – это просто список инструкций.
Простейшая инструкция – это выражение с точкой с запятой после него. Это — программа:
>1;
>!false;
Правда, это бесполезная программа. Выражение можно использовать только для получения величины, которая может быть использована в другом выражении, охватывающем это. Инструкция стоит сама по себе и её применение изменяет что-то в мире программы. Она может выводить что-то на экран (изменение в мире), или менять внутреннее состояние машины таким образом, что это повлияет на следующие за ним инструкции. Эти изменения называются побочными эффектами. Инструкции в предыдущем примере просто выдают величины >1
и >true
, и сразу их выбрасывают. Они не оказывают никакого влияния на мир программы. При выполнении программы ничего заметного не происходит.
В некоторых случаях JavaScript позволяет опускать точку с запятой в конце инструкции. В других случаях она обязательна, или следующая строка будет расцениваться как часть той же инструкции. Правила, согласно которым можно или нельзя опускать точку с запятой, довольно сложны и увеличивают вероятность ошибиться. В этой книге мы не будем опускать точку с запятой, и я рекомендую делать так же в своих программах, пока вы не накопите опыт.
Переменные
Как же программа хранит внутреннее состояние? Как она его запоминает? Мы получали новые величины из старых, но старые величины это не меняло, а новые нужно было использовать сразу, или же они исчезали. Чтобы захватить и хранить их, JavaScript предлагает нечто под названием «переменная».
>var caught = 5 * 5;
И это даёт нам второй вид инструкций. Специальное ключевое слово (keyword) >var
показывает, что в этой инструкции мы объявляем переменную. За ним идёт имя переменной, и, если мы сразу хотим назначить ей значение – оператор = и выражение.
Пример создаёт переменную под именем >caught
и использует её для захвата числа, которое получается в результате перемножения 5 и 5.
После определения переменной её имя можно использовать в выражениях. Величина переменной будет такой, какое значение в ней сейчас содержится. Пример:
>var ten = 10;
>console.log(ten * ten);
>// → 100
Переменные можно называть любым словом, которое не является ключевым (типа >var
). Нельзя использовать пробелы. Цифры тоже можно использовать, но не первым символом в названии. Нельзя использовать знаки пунктуации, кроме символов >$
и >_
.
Переменной присваивают значение не навсегда. Оператор >=
можно использовать на существующих переменных в любое время, чтобы присвоить им новое значение.
>var mood = "лёгкое";
>console.log(mood);
>// → лёгкое
>mood = "тяжёлое";
>console.log(mood);
>// → тяжёлое
Представляйте себе переменные не в виде коробочек, а в виде щупалец. Они не содержат значения – они хватают их. Две переменные могут ссылаться на одно значение. Программа имеет доступ только к значениям, которые они содержат. Когда вам нужно что-то запомнить, вы отращиваете щупальце и держитесь за это, или вы используете существующее щупальце, чтобы удержать это.
Переменные как щупальца
Пример. Для запоминания количества денег, которые вам должен Василий, вы создаёте переменную. Затем, когда он выплачивает часть долга, вы даёте ей новое значение.
>var vasyaDebt = 140;
>vasyaDebt = vasyaDebt - 35;
>console.log(vasyaDebt);
>// → 105
Когда вы определяете переменную без присваивания ей значения, щупальцу не за что держаться, оно висит в воздухе. Если вы запросите значение пустой переменной, вы получите >undefined
.
Одна инструкция >var
может содержать несколько переменных. Определения нужно разделять запятыми.
>var one = 1, two = 2;
>console.log(one + two);
>// → 3
Ключевые и зарезервированные слова
Слова со специальным смыслом, типа >var
– ключевые. Их нельзя использовать как имена переменных. Также есть несколько слов, «зарезервированных для использования» в будущих версиях JavaScript. Их тоже нельзя использовать, хотя в некоторых средах исполнения это возможно. Полный их список достаточно большой.
>break case catch continue debugger default delete do else false finally
>for function if implements in instanceof interface let new null package
>private protected public return static switch throw true try typeof var
>void while with yield this
Не нужно их запоминать, но имейте в виду, что ошибка может крыться здесь, если ваши определения переменных не работают, как надо.
Окружение
Коллекция переменных и их значений, которая существует в определённый момент, называется окружением. Когда программа запускается, окружение не пустое. Там всегда есть переменные, являющиеся частью программного стандарта, и большую часть времени там есть переменные, помогающие взаимодействовать с окружающей системой. К примеру, в браузере есть переменные и функции для изучения состояния загруженной веб-страницы и влияния на неё, для чтения ввода с мыши и клавиатуры.
Функции
Многие величины из стандартного окружения имеют тип >function
(функция). Функция – отдельный кусочек программы, который можно использовать вместе с другими величинами. К примеру, в браузере переменная

Жизнь современного человека плотно связана с видеоиграми. Даже если вы не играете сами, в вашем окружении наверняка найдутся заядлые геймеры, а новости из индустрии игр зачастую не обходят и вас стороной. Это положение дел приводит к вопросам: а что же такое видеоигры и какое место они занимают в жизни человека? Поиском ответов на них занимается дисциплина game studies. Александр Ветушинский – один из ведущих российских представителей этого направления исследований. Его книга «Игродром» – философское осмысление этапов развития игровой индустрии, анализ.

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

Это практическое руководство разработчика программного обеспечения на Visual Basic .NET и ADO.NET, предназначенное для создания приложений баз данных на основе WinForms, Web-форм и Web-служб. В книге описываются практические способы решения задач доступа к данным, с которыми сталкиваются разработчики на Visual Basic .NET в своей повседневной деятельности. Книга начинается с основных сведений о создании баз данных, использовании языка структурированных запросов SQL и системы управления базами данных Microsoft SQL Server 2000.

В учебно-методическом пособии рассматриваются основы языка программирования PL/SQL, реализованного в системе управления базами данных Oracle Database Server. Приводятся сведения о поддерживаемых типах данных, структуре программ PL/SQL и выполнении SQL-предложений в них. Отдельно рассмотрено создание хранимых в базах данных Oracle программ PL/SQL – процедур, функций, пакетов и триггеров.

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

Насколько велики на самом деле «большие данные» – огромные массивы информации, о которых так много говорят в последнее время? Вот наглядный пример: если выписать в линейку все цифры 0 и 1, из которых состоит один терабайт информации (вполне обычная емкость для современного жесткого диска), то цепочка цифр окажется в 50 раз длиннее, чем расстояние от Земли до Сатурна! И тем не менее, на «большие данные» вполне можно взглянуть в человеческом измерении. Эрец Эйден и Жан-Батист Мишель – лингвисты и компьютерные гении, создатели сервиса Google Ngram Viewer и термина «культуромика», показывают, каким образом анализ «больших данных» помогает исследовать трудные проблемы языка, культуры и истории.