Программирование означает написание кода. Любая книга состоит из глав, абзацев, предложений, фраз, слов и, наконец, пунктуации и букв. Так и программа может быть разбита на маленькие компоненты. На данный момент наиболее важным является «выражение». Выражение является аналогом предложения в книге. Каждое выражение имеет структуру и цели, но без контекста других выражений вокруг него, оно не несёт никакого смысла.
Выражением небрежно (и часто) называют строку кода. Это потому, что выражения, как правило, пишутся на отдельных строках. По существу, программы читаются сверху вниз и слева направо. Вам может быть интересно, что такое код (также называемый исходный код). Это широкий термин, который может относиться к программе целиком или к её небольшой части. Таким образом, строка кода это просто строка вашей программы.
Вот простой пример:
var hello = "Здравствуй,";
var world = "мир!";
// Сообщение равно «Здравствуй, мир!»
var message = hello + " " + world;
Данный код может быть выполнен другой программой под названием интерпретатор, которая прочитает код и выполнит все выражения в правильном порядке.
Комментарии
Комментарии это выражения, которые не будут выполняться интерпретатором и применяются для обозначения примечаний другим программистам или для небольшого описания того, что делает ваш код. Тем самым другим проще понять, как ваш код работает.
В JavaScript комментарии могут быть написаны двумя разными способами.
Строка начинается с //.
// Это комментарий, он будет проигнорирован интерпретатором
var a = "это переменная, заданная в выражении";
Раздел кода, начинающийся с /* и заканчивающийся */. Этот метод используется для многострочных комментариев:
/*
Это многострочный комментарий,
он будет проигнорирован интерпретатором
*/
var a = "это переменная, заданная в выражении";
Переменные
Первым шагом к реальному пониманию программирования является вспоминание алгебры. Со школы вы помните, что алгебра начинается с написания таких вещей.
3 + 5 = 8
Вы начинаете выполнять расчёты, когда вводите неизвестную, например, х, как это показано ниже:
3 + x = 8
Выполнив перенос мы можем определить х.
x = 8 - 3
-> x = 5
Когда вы вводите более одной неизвестной, то можете сделать ваше выражение более гибким — за счёт включения переменных.
x + y = 8
Вы можете изменить значения х и у и формула окажется правильной:
x = 4
y = 4
или
x = 3
y = 5
То же самое верно и для языков программирования. В программировании переменные являются контейнерами для значений, которые изменяются. Переменные могут содержать все типы значений, а также результаты вычислений. Переменные содержат имя и значение, разделённые знаком равенства (=). Имена переменных могут быть любой буквой или словом, но имейте в виду, что существуют ограничения на то, что вы можете использовать, поскольку некоторые слова зарезервированы для других функций.
Теперь посмотрим, как это работает в JavaScript. Следующий код определяет две переменные, вычисляет результат их сложения и устанавливает этот результат как значение третьей переменной.
var x = 5;
var y = 6;
var result = x + y;
Типы переменных
Компьютеры более сложны и могут использовать комплексные переменные, а не просто числа. Вот где появляются типы переменных. Переменные бывают нескольких типов и разные языки поддерживают разные типы.
Наиболее распространёнными типами являются:
- Числа
- С плавающей точкой: числа вроде 1.21323, 4, -33.5, 100004 или 0.123;
- Целые: числа вроде 1, 12, -33, 140, но не 1.233;
- Строка: строка текста, такая как "лодка", "слон" или "ну ты, блин, и дылда!";
- Логический тип: только true (истина) или false (ложь), больше ничего;
- Массивы: совокупность значений таких как: 1, 2, 3, 4, 'мне скучно';
- Объекты: представление более сложного объекта;
- null: переменная, которая содержит значение NULL, но не содержит корректное число, строку, логический тип, массив или объект;
- undefined: неопределённое значение получается, когда вы используете несуществующее свойство объекта или переменной, которая была объявлена, но не содержит никакого значения.
JavaScript является «слабо типизированным» языком, это означает, что вы не должны явно объявлять тип переменных. Вам просто надо использовать ключевое слово var для указания что вы объявляете переменную, а интерпретатор поймёт, какой тип данных вы используете из контекста и с учётом кавычек.
Равенство
Программистам часто требуется сравнить одни переменные с другими. Это делается с помощью оператора равенства.
Основной оператор равенства это ==. Данный оператор делает всё для определения того, что две переменные равны, даже если они разного типа.
Предположим к примеру:
var foo = 42;
var bar = 42;
var baz = "42";
var qux = "life";
foo == bar будет истиной, а baz == qux будет ложью, как это можно было ожидать. Однако, foo == baz также будет определено как истина, несмотря на то, что foo и baz относятся к разным типам. За сценой оператор равенства == пытается насильно привести операнды к одному типу, прежде чем определить их равенство. Этим он отличается от оператора равенства ===.
Оператор равенства === определяет, что две переменные равны, если они одного типа и содержат одинаковое значение. С учётом этого foo === bar будет по-прежнему истиной, но foo === baz теперь определяется как ложь. baz === qux будет по-прежнему ложью.