Руководство для начинающих по JavaScript Переменные и типы данных были рецензированы Скоттом Молинари и Вилданом Софтиком и Крисом Перри . Спасибо всем рецензентам SitePoint за то, что сделали контент SitePoint как можно лучше!
Итак, вы решили изучить JavaScript, язык программирования в Интернете. Если вам кажется, что впереди непростое путешествие, и вы не знаете, с чего начать, вот маленький секрет: не нужно никаких специальных навыков, чтобы научиться программировать, и все начинают с нуля. Делайте это по одному шагу за раз, и вы попадете туда.
Это руководство для меня?
Если что-то из этого применимо к вам, вам будет полезно прочитать это руководство:
- Вы никогда не использовали язык программирования раньше.
- Вы никогда не использовали JavaScript раньше.
- Вы пробовали изучать JavaScript раньше, но обнаружили, что у вас недостаточно ресурсов или нет доступа к ним.
- Вы немного знаете JavaScript, но хотите освежить в памяти основы.
В этой статье мы сосредоточимся на основных принципах: синтаксис, переменные, комментарии и типы данных. Прелесть в том, что вы можете применить концепции, которые вы узнали о JavaScript здесь, для изучения другого языка программирования в будущем.
Отказ от ответственности: Это руководство предназначено для начинающих JavaScript и программирования. Таким образом, многие концепции будут представлены в упрощенном виде, и будет использоваться строгий синтаксис ES5.
Готов? Давайте начнем!
Что такое JavaScript?
JavaScript — это язык программирования, который делает сайты динамичными и интерактивными. Это клиентский язык программирования, что означает, что код выполняется в веб-браузере пользователя. С появлением Node.js и других технологий его также можно использовать в качестве серверного языка, что делает его чрезвычайно универсальным. JavaScript используется в основном для интерфейсной веб-разработки и тесно работает с HTML и CSS.
Примечание. Java — это не JavaScript. Это другой язык со схожим до смешного названием.
Требования
У вас уже есть предпосылки для написания и использования JavaScript. Все, что вам нужно, это веб-браузер для просмотра кода и текстовый редактор для его написания. Браузер, которым вы сейчас пользуетесь, идеален (Chrome, Firefox, Safari, Edge и т. Д.). Ваш компьютер предустановлен с Notepad (Windows) или TextEdit (Mac), но я бы порекомендовал установить Atom или Brackets , которые являются бесплатными программами, специально разработанными для кодирования.
CodePen — это веб-сайт, который позволяет вам писать код и делать живые демонстрации, и это будет самый простой способ начать следовать и практиковаться.
Основная терминология
Программист пишет программы так же, как автор пишет книгу.
Программа — это просто набор инструкций, которые компьютер может прочитать и использовать для выполнения задачи. Каждая отдельная инструкция представляет собой строку кода, известную как утверждение , которое похоже на предложение в книге. В то время как предложение на английском языке заканчивается точкой, оператор JavaScript обычно заканчивается точкой с запятой. Синтаксис относится к символам и правилам, которые определяют структуру языка, аналогично грамматике и пунктуации, а точка с запятой, заканчивающаяся оператором JavaScript, является частью синтаксиса.
Комментарии
Комментарий — это читаемая заметка, написанная в коде.
Комментарии написаны на простом английском языке с целью объяснения кода. Хотя комментарии технически не выполняют никакой функции в программе, очень важно привыкнуть к правильной документации, которая поможет вам или будущим сотрудникам понять цель вашего кода.
В JavaScript есть два типа комментариев:
- Однострочный комментарий , написанный двумя косыми чертами
//
// This is a single line comment.
- Многострочный комментарий , который находится между
/*
*/
/* This is a comment.
It's a multi-line comment.
Also a haiku. */
переменные
Переменная — это контейнер, в котором хранятся значения данных.
Вы знаете переменную как нечто, что может измениться. В базовой алгебре это буква, которая представляет число. x
y
z
Изначально x
x = 5
Теперь x
5
Вы можете думать о x
5
В JavaScript переменные работают одинаково, за исключением того, что они могут содержать не только числа в качестве значения — они могут содержать всевозможные значения данных, которые мы узнаем к концу этой статьи.
Переменные создаются и объявляются с использованием ключевого слова var
Мы можем использовать наш пример алгебры выше, чтобы создать оператор JavaScript.
var x = 5; // the variable x contains the numeric value of 5.
Основываясь на том, что мы узнали, вы можете видеть, что у нас есть оператор JavaScript, который объявляет переменную ( x
5
=
//
Утверждение заканчивается точкой с запятой ( ;
Переменные необходимо объявлять с помощью var
var x = 5; // x was worth 5
x = 6; // now it's worth 6
Переменная может содержать только одно значение за раз, и, поскольку программа выполняется сверху вниз, значение x
6
Вот пример переменной с другим типом данных.
var greeting = "Oh hi, Mark!";
Теперь переменная greeting
Oh hi, Mark!
,
Несколько важных вещей, которые нужно знать о переменных:
- Имя переменной может иметь буквы, цифры, знак доллара (
$
_
- Переменная не может быть любым словом в списке зарезервированных ключевых слов .
- Переменные чувствительны к регистру.
- Соглашение об именах — camelCase , в котором переменная всегда начинается со строчной буквы, но каждое последующее слово начинается с заглавной буквы.
Совет: хотя переменная может иметь любое имя, важно выбрать имена, которые являются описательными, но краткими.
Типы данных
Теперь, когда мы знаем о переменных, мы можем узнать о типах данных, которые может содержать переменная.
Тип данных — это классификация данных. Языки программирования должны иметь разные типы данных для правильного взаимодействия со значениями. Вы можете делать математику с числом, но не с предложением, поэтому компьютер классифицирует их по-разному. Существует шесть примитивных (базовых) типов данных: строки, числа, логические, нулевые, неопределенные и символьные (новые в ES6). Примитивы могут содержать только одно значение. Все, что не является одним из этих примитивов, является Объектом . Объекты могут содержать несколько значений.
JavaScript известен как слабо типизированный язык (или слабо типизированный ), что означает, что язык автоматически определяет тип данных на основе используемого вами синтаксиса.
тестирование
alert()
console.log()
var x = 5;
alert(x);
console.log(x);
Вот демонстрация этих методов. alert
console.log
Inspect . Я не буду ссылаться на них снова в этой статье, поэтому вы можете выбрать тот, который лучше всего подходит для практики. Я бы рекомендовал избегать alert
Вы всегда можете узнать тип переменной, используя typeof
var answer = 42;
typeof answer // returns number
Струны
Строка — это серия символов.
Любые данные, содержащие текст, будут представлены строкой. Название строки, вероятно, произошло от ранних программистов, которым напомнили о бусах на веревочке.
-
Строка может быть заключена в двойные кавычки (
" "
"Pull the string, and it will follow wherever you wish."; // double quoted string
-
или одинарные кавычки (
' '
'Push it, and it will go nowhere at all.'; // single quoted string
Примечание. Одинарные кавычки — это то, что вы обычно называете апострофом, его не следует путать с обратной чертой, которая расположена слева от клавиатуры.
Оба конца строки должны совпадать, но в противном случае между ними нет разницы — это просто разные способы написания строки.
Но что, если я хочу написать, что я в строке в одинарных кавычках, или кто-то в строке в двойных кавычках? Разве это не сломает нить?
Будет, и есть два варианта борьбы с этим. Вы можете смело использовать цитаты противоположного типа:
"Damn it, man, I'm a doctor, not a torpedo technician!"; // using single quotes within a double quoted string
'"Do. Or do not. There is no try." - Yoda'; // using double quotes in a single quoted string
На протяжении всего проекта важно выбрать один стиль для последовательности для согласованности. Вы можете использовать обратную косую черту ( \
экранирования строки.
'Damn it, man, I\'m a doctor, not a torpedo technician!';
"\"Do. Or do not. There is no try.\" - Yoda";
Мы можем применять строки к переменным. Давайте использовать мой пример greeting
var greeting = "Oh hi, Mark!";
Строки также могут быть связаны вместе в процессе, известном как конкатенация . Переменные и строки могут быть объединены с помощью символа плюс ( +
var greeting = "Oh hi, " + "Mark" + "!"; // returns Oh hi, Mark!
Обратите внимание, что пустое пространство также является символом в строке. В приведенном ниже примере мы увидим, как конкатенация может быть полезна.
var message = "Oh hi, ";
var firstName = "Mark";
var bam = "!";
var greeting = message + firstName + bam; // returns Oh hi, Mark!
Теперь все строки представлены переменными, которые могут меняться. Если вы когда-либо заходили в приложение (например, в свою электронную почту) и встречали ваше имя, вы можете увидеть, как ваше имя — просто строка в переменной в их системе.
чисел
Число — это числовое значение.
Числа не имеют никакого специального синтаксиса, связанного с ними, как строки. Если вы поместите число в кавычки ( "5"
Число может быть целым или десятичным (известно как число с плавающей запятой) и может иметь положительное или отрицательное значение.
var x = 5; // whole integer
var y = 1.2; // float
var z = -76; // negative whole integer
Номер может содержать до 15 цифр.
var largeNumber = 999999999999999; // a valid number
Вы можете сделать обычную математику с числами — сложение ( +
-
/
+
var sum = 2 + 5; // returns 7
var difference = 6 - 4; // returns 2
Вы можете сделать математику с переменными.
var elves = 3;
var dwarves = 7;
var men = 9;
var sauron = 1;
var ringsOfPower = elves + dwarves + men + sauron; // returns 20
Есть два других специальных типа номера.
NaN
NaN
NaN
var nope = 1 / "One"; // returns NaN
Например, попытка разделить число на строку приводит к NaN
бесконечность
Infinity
0
var beyond = 1 / 0; // returns Infinity
логический
Логическое значение — это значение, которое является либо истинным, либо ложным.
Логические значения очень часто используются в программировании, когда значение может переключаться между да и нет, включением и выключением или истиной и ложью. Логические значения могут представлять текущее состояние чего-то, что может измениться.
Например, мы использовали бы логическое значение, чтобы указать, установлен ли флажок или нет.
var isChecked = true;
Часто булевы значения используются, чтобы проверить, равны ли две вещи, или результат математического уравнения является истинным или ложным.
/* Check if 7 is greater than 8 */
7 > 8; // returns false
/* Check if a variable is equal to a string */
var color = "Blue";
color === "Blue"; // returns true
Примечание. Один знак равенства (
=
Двойной (==
===
Неопределенный
Неопределенная переменная не имеет значения.
С помощью ключевого слова var
объявляем переменную, но пока ей не присвоено значение, она не определена.
var thing; // returns undefined
Если вы не объявляете переменную с помощью var
typeof anotherThing; // returns undefined
Значение NULL
Нуль — это значение, которое ничего не представляет.
Ноль — это намеренное отсутствие какой-либо ценности. Он представляет собой нечто, чего не существует, и не является ни одним из других типов данных.
var empty = null;
Разница между нулевым и неопределенным довольно тонкая, но главное отличие в том, что нулевое значение является намеренно пустым значением.
Символ
Символ — это уникальный и неизменный тип данных.
Symbol — это новый примитивный тип данных, появившийся в последней версии JavaScript ( ES6 ). Его главная особенность заключается в том, что каждый символ является абсолютно уникальным токеном, в отличие от других типов данных, которые могут быть перезаписаны.
Поскольку это продвинутый и малоиспользуемый тип данных, я не буду вдаваться в подробности, но полезно знать, что он существует.
var sym = Symbol();
Объекты
Объект — это коллекция пар имя / значение.
Любое значение, которое не является просто строкой, числом, логическим, нулевым, неопределенным или символом, является объектом .
Вы можете создать объект с помощью пары фигурных скобок ( {}
var batman = {};
Объекты состоят из свойств и методов . Свойства — это то, что является объектом, а методы — это то, что делает объект. Возвращаясь к аналогии с книгой, свойства похожи на существительные и прилагательные, а методы — на глаголы.
Свойство | метод |
---|---|
batman.firstName | batman.fight () |
batman.location | batman.jump () |
Мы можем применить некоторые свойства к объекту batman
ключ / значение ). Они будут разделены запятыми и записаны как propertyName: propertyValue
var batman {
firstName: "Bruce", // string
lastName: "Wayne",
location: "Gotham",
introduced: 1939, // number
billionaire: true, // Boolean
weakness: null // null
};
Примечание: последний элемент в списке свойств объекта не заканчивается запятой.
Как вы можете видеть, мы можем применять любой тип данных в качестве значения в объекте. Мы можем получить индивидуальное значение с точкой ( .
batman.firstName; // returns Bruce, a string
Мы также можем получить значение с помощью скобок.
batman["firstName"]; // returns Bruce
Имя свойства JavaScript должно быть допустимой строкой JavaScript или числовым литералом. Если имя начинается с цифры или содержит пробел, к нему следует обращаться, используя обозначение в скобках. Читать: MDN
batman.secret identity; // invalid
batman["Secret Identity"]; // valid
Метод выполняет действие. Вот простой пример.
var batman {
firstName: "Bruce",
lastName: "Wayne",
secretIdentity: function() { // method
return this.firstName + " " + this.lastName;
}
};
Вместо простого типа данных в качестве значения у меня есть function
function
firstName
lastName
this
В этом примере this
batman
{}
batman.secretIdentity(); // returns Bruce Wayne, a concatenation of two properties
Метод указывается в скобках. ( ()
Массивы
Массив хранит список в одной переменной.
Поскольку массив содержит более одного значения, это тип объекта.
Вы можете создать массив с парой прямых скобок ( []
var ninjaTurtles = [];
Массивы не содержат пар имя / значение.
var ninjaTurtles = [
"Leonardo",
"Michelangelo",
"Raphael",
"Donatello"
];
Вы можете получить индивидуальное значение, ссылаясь на index
В программировании отсчет начинается с нуля, поэтому первым элементом в списке всегда будет [0]
var leader = ninjaTurtles[0]; // assigns Leonardo to the leader variable
Вы можете увидеть, сколько элементов в массиве, с помощью свойства length
ninjaTurtles.length; // returns 4
резюмировать
Мы многое рассмотрели в этой статье. Теперь вы должны лучше понимать общие концепции программирования, терминологию, синтаксис и основы. К этому моменту вы узнали все о переменных JavaScript и типах данных, и теперь вы готовы перейти к манипулированию этими данными и созданию программ!