Далее на странице...
Это первая статья о том, как Javascript проводит привидение типов? Читайте более подробно о преобразовании и приведении типов.
Здесь же преимущественно будут примеры сложения строк с различными типами данных.
Но прежде стоит отметить еще кое-что, что есть во всех языках программирования. Это комментарии
Комментарии для отдельных фрагментов кода, позволяют описать, что этот код делает, оставить так сказать памятку, дать то или иное пояснение.
Также при помощи комментариев можно закомментировать любую часть кода. Закомментированный код не будет выполняться, но, например, может пригодиться в дальнейшем.
Но вернемся к основной теме статьи - привидение типов в Javascript.
Преобразование чисел
var firstName = 'John';
var age = 28;
console.log(firstName + ' ' + age);
John 28
Итак, в примере мы имеем дело с двумя различными типами данных: строка и число.
Но при выводе в консоль информации о том, что Джону 28 лет, результат будет представлен в виде одной строки.
То есть JavaScript совмещает строку с числом и выдает результат в виде единой строки. Происходит это благодаря тому, что называется «Приведением типов». Это означает, что JavaScript автоматически преобразует типы из одного в другой, когда это необходимо.
В данном случае происходит преобразование числа в строку. Это делается для того чтобы была возможность соединить три строки: имя John, пробел ' ' и число 28, также ставшее строкой. О том, что число стало строкой, говорит и черный цвет числа. Ибо если вывести в консоль только число, то оно будет иметь синий/фиолетовый цвет.
console.log(age);
В других языках программирования дело обстоит иначе. Разработчики сами вынуждены преобразовывать переменные. Здесь все проще: JavaScript делает эту работу за нас. Все происходит автоматически.
Объединение строки и числа, как было продемонстрировано в примере выше, это лишь один из многих примеров преобразования типов, с которыми мы еще столкнемся на протяжении этого курса. Приведение типов происходит постоянно - для JavaScript это норма.
Итак, всякий раз, когда происходит сложение числа и строки, число будет конвертировано в строку.
Преобразование логических значений
Теперь рассмотрим еще один пример и для этого создадим немного больше переменных.
Для разнообразия сделаем так: сначала объявим несколько переменных в одной строке, а затем, в строках ниже, присвоим им значения. При этом ключевое слово var используется один раз, в начале строки при объявлении переменных. Затем через запятую перечисляются имена переменных.
var job, isMarried;
job = 'Teacher';
isMarried = false; // is Married - состоящий в браке
Такой способ работы с именами переменных является распространенным и, наверное, более чистым/ясным.
Но вернемся к нашим переменным и посмотрим, что произойдет, если вывести в консоль переменную, которая содержит логическое значение false совместно со строковыми переменными.
console.log(firstName + ' is a ' + age + ' year old ' + job + '. Is he married? ' + isMarried);
John is a 28 year old Teacher. Is he married? false
Итак, мы видим, что и булева переменная была преобразована в строку. То есть JavaScript проводит приведение типов и для логических значений.
Преобразование Undefined в строку
Теперь пробуем закомментировать булеву переменную и вывести ее в консоль. Что мы увидим при использовании переменой без значения?
var job, isMarried;
job = 'Teacher';
//isMarried = false;
console.log(firstName + ' is a ' + age + ' year old ' + job + '. Is he married? ' + isMarried);
John is a 28 year old Teacher. Is he married? undefined
И мы видим, что даже Undefined было преобразовано в строку.
Мутация переменных
В англоязычном курсе этот урок называется Variable Mutation and Type Coercion.
Type Coercion - переводится как приведение типов. Об этом уже шла речь.
Variable Mutation - можно перевести, как мутация, изменение переменной. Этот термин "мутация переменных", возможно, будет использоваться и далее. И тут речь идет вот о чем.
var age = 28; // переменная относится к числовому типу данных
age = 'twenty-eight'; // переменная относится к строковому типу данных
Если сначала переменной присвоить числовое значение, а затем, например, строковое, как в примере выше, то JavaScript автоматически определяет, что переменная относится уже к другому типу данных, эти изменения делаются «на лету». В этом также состоит особенность приведения типов в JavaScript (или мутации, видоизменения переменных).
Метод alert
job = 'driver'; // меняем значение ранее объявленной переменной job
alert(firstName + ' is a ' + age + ' year old ' + job + '. Is he married? ' + isMarried);
Метод alert вызывает всплывающее окно в основном окне браузера.
Итак, какую-либо информацию можно выводить не только в консоль, но и вызывать для ее отображения всплывающее окно или окно предупреждения (alert window).
При этом основная страница будет загружаться до тех пор, пока не будет нажата кнопка OK, после чего всплывающее окно исчезнет.
Метод prompt
Здесь также стоит упомянуть о методе prompt, который является альтернативой методу alert и который позволяет легко получить какие-либо данные от пользователя.
Подводим итог
Итак, здесь мы узнали, что такое приведение типов в JavaScript и «мутация» переменных. И как происходит преобразование различных типов данных при их сложении со строками.
Теперь известно, что при работе с кодом переменные могут менять не только свои значения, но легко меняется и тип данных. О преобразовании типов также читайте здесь.
Кроме этого здесь были рассмотрены два метода, работающие со всплывающими окнами - alert и prompt.
В общей сложности это неплохой прогресс в изучении языка. И учитывая, что это всего лишь начало курса по JavaScript, Вам уже известно достаточно много. Хотя впереди еще «тонны» информации.
Поэтому пора переходить к следующей статье, где речь пойдет о некоторых основных операторах. А именно, посмотрим, как работают математические операторы, и будем сравнивать разные значения друг с другом.