Далее на странице...
Продолжается обзор англоязычного курса JavaScript. Здесь начинается работа javascript-кодом. Речь пойдет о переменных и типах данных.
Стоит отметить, что я сразу обратил внимание на последовательность обучения, которая мне понравилась.
Что касается объема этой статьи (и, возможно, последующих материалов), то предоставленная информация зачастую будет более лаконична, чем та, которая дается непосредственно в курсе. Следует учитывать, что это обзор англоязычного курса, а не курс в полном объеме.
Дополнительно будут делаться ссылки на соответствующие материалы для тех, кому нужно больше информации для изучения JavaScript
Работа с консолью - console.log
После небольшого введения курс, предлагается написать простейший скрипт. Здесь ничего нового. Это классика, а именно нужно вывести текст "Hello world" при помощи языка JavaScript.
Ничего особенного, но что интересно: здесь при выводе текста используется метод console.log. То есть в англоязычном курсе JavaScript предлагается сразу работать с консолью браузера, что, на мой взгляд, правильно.
Напомню, что в курсе «JavaScript для начинающих» из РУ-нета о существовании консоли говорится намного позже: после прохождения большей части курса, на протяжении которой в большинстве случаев для вывода результата исполнения кода используется метод write объекта document.
console.log('Hello world');
Hello world
Два способа работы с JavaScript-кодом
Кроме этого, в англоязычном курсе опять же сразу говорится о двух способах работы с javascript-кодом. Напомним, что первый это использование встроенного скрипта, когда javascript-код находится непосредственно на html-странице, заключенный в тег <script>.
Второй способ - использование внешнего javascript-файла, в который добавляется javascript-код. Этот способ является более правильным, и он удобен, особенно, когда кода много.
Переменные и типы данных
Начинаем работать с переменными. Создаем несколько переменных и сначала присваиваем им строковые значения.
Чтобы присвоить переменной какое-либо значение используется знак равно "=".
Переменным рекомендуется давать осмысленные имена. Подробнее об именах переменных читайте здесь.
var firstName = 'John';
var lastName = 'Smith';
Затем создаем переменную и присваиваем ей числовое значение.
var age = 28;
Мы увидели, что значением переменной может быть строка (в данном случае текст) или число. Это разные типы данных. И это является хорошим моментом, для перехода к разговору о том, какие типы данных встречаются в JavaScript.
Итак, в JavaScript различают 5 различных типов данных:
-
Number - числа с плавающей запятой для десятичных и целых чисел.
-
String - последовательность символов, используемых как текст.
-
Boolean - логический тип данных, который может принимать только два значения true или false (истина или ложь).
-
Undefined - переменная, которая еще не имеет значения.
-
Null - тоже означает "несуществующий" (как и Undefined).
В примерах выше мы имели дело с числами и строками. Это простые, примитивные типы данных, НЕ объектные, в то время как Javascript это объектно-ориентированный язык. Но вернемся к типам данных.
Числа в JavaScript
Числа в JavaScript - это всегда числа с плавающей запятой. Это означает, что они всегда являются десятичными, даже если мы явно этого не видим и не определяем их таковыми. Например, число 5 - это все равно как 5.0 (ранее, при изучении JavaScript я не рассматривал числа таким образом).
Большинство языков программирования часто работают иначе. В них целые и десятичные числа - это различные типы данных. Но в JavaScript это не так. Здесь все числа - это числа с плавающей запятой, даже если они выглядят как целые.
Строки в JavaScript
В JavaScript мы часто имеем дело со строками, которые являются просто набором символов и поэтому часто они используются для текста, как это было видно в примерах с именем (firstName) и фамилией (lastName).
Логический тип данных
О булевых значениях достаточно сказано здесь. Для них нужно лишь помнить о том, что логическое значение всегда либо Истинно, либо Ложно. Это важно.
Создадим переменную, которая будет относиться к логическому типу данных и выводим ее значение в консоль.
var fullAge = true; // full Age - означает совершеннолетний
console.log(fullAge);
true
Стоит отметить, что при выводе в консоль булевой переменной, ее значение в консоли, то есть true или false имеет синий цвет. В то время как строковые значения переменных представлены в черном цвете.
Undefined - Переменная без значения
Этот шаг немного сложнее для понимания, чем предыдущие.
Потому что Undefined это тип данных, который автоматически присваивается переменной, которая еще не имеет значения.
Это может звучать несколько запутанно, но на самом деле все проще. И со временем все встанет на свои места. Сейчас имеет значение лишь то, что Undefined означает несуществующий (это дословный перевод слова non-existent). Хотя здесь говориться немного иначе, что Undefined в JavaScript - это неопределенность, не определенное значение. Но суть одна.
Создадим переменную без значения. И выведем ее в консоль. При этом мы увидим Undefined.
var job;
console.log(job);
Undefined
Null
И наконец, еще один тип данных, который весьма похож на Undefined - это Null.
О таком типе данных, как Null говорится здесь, а также о разнице между Null и Undefined. Но что нам скажет автор англоязычного курса?
Null также означает не существующий, но здесь больше специфики. И об этом немного позже...
Динамическая типизация
Прежде чем двигаться дальше, следует отметить один важный момент: у Javascript есть особенность, которая называется динамическая типизация. Это означает, что разработчику не нужно вручную определять тип данных для переменной, как это бывает во многих других языках программирования
В основном JavaScript автоматически выясняет, является ли переменная строкой String, числом Number или она не определена Undefined. Или же это булево значение Boolean. То есть Javascript самостоятельно определяет, к какому типу данных относится переменная. При этом разработчику не нужно что-либо делать.
И если потом переменной присвоить другое значение, относящееся к другому типу данных, то JavaScript автоматически присвоит эту переменную к соответствующему типу.
Это может быть очень удобным и сэкономить разработчику много времени, но с другой стороны это может стать причиной ошибок в коде, которые будет не просто найти. Поэтому следует соблюдать внимательность при работе с переменными.
Динамическая типизация – прием, широко используемый в языках программирования и языках спецификации, при котором переменная связывается с типомв момент присваивания значения, а не в момент объявления переменной, таким образом, в различных участках программы одна и та же переменная может принимать значения разных типов.
Вернемся к примеру с неопределенной переменной, присвоим ей какое-либо значение и снова выведем ее в консоль:
var job;
console.log(job);
job = 'Teacher';
console.log(job);
Undefined
Teacher
Таким образом, переменная, ранее имевшая значение Undefined и относящаяся к типу Undefined, теперь имеет строковое значение и относится к типу String.
Этой статьи достаточно, для получения базовых знаний о переменных и типах данных в Javascript. И это уже довольно большой шаг вперед в изучении языка, который в том числе содержит важные концепции любого языка программирования.
В следующей статье продолжится работа с переменными. И речь пойдет о преобразовании типов в Javascript.