Hello again!
Переменные
Переменная – это «именованное хранилище» для данных. Мы можем использовать переменные для хранения товаров, посетителей и других данных.
let message;
message = "привет";Для создания переменной в JavaScript, используйте ключевое слово let.
= это знак присваивания!
== а вот это знак равно!
Строка сохраняется в области памяти, связанной с переменной. Мы можем получить к ней доступ, используя имя переменной:
let message;
message = 'Hello!';
alert(message); // показывает содержимое переменнойМожно объявить переменную и присвоить ей значение в одной строке:
let message = 'Hello!';Можно объявлять несколько переменных в одной строке:
let user = 'John', age = 25, message = 'Hello';let user = 'John';
let age = 25;
let message = 'Hello';Многострочный вариант немного длиннее, но легче для чтения:
let user = 'John',
age = 25,
message = 'Hello';let вместо var
Ключевое слово var – почти то же самое, что и let. Оно объявляет переменную, но немного по-другому, «устаревшим» способом.
var message = 'Hello';Аналогия
Переменную message можно представить, как коробку с названием "message" и значением "Hello!"внутри:
Мы также можем изменить его столько раз, сколько захотим:


message = 'World!';При изменении значения старые данные удаляются из переменной
также можно объявить две переменные и скопировать данные из одной в другую.
let hello = 'Hello world!';
let message;
// копируем 'Hello world' из переменной hello в переменную message
message = hello;
// теперь две переменные содержат одинаковые данные
alert(hello); // Hello world!
alert(message); // Hello world!Имена переменных
let userName;
let test123;let $ = 1; // объявили переменную с именем "$"
let _ = 2; // а теперь переменную с именем "_"
alert($ + _); // 3Допустимые имена:
Недопустимые имена:
let 1a; // не может начинаться с цифры
let my-name; // дефис '-' не разрешён в имениРегистр имеет значение
let apple;
let Apple;
// Это две разные переменные!Не-латинские буквы разрешены, но не рекомендуются
let имя = '...';
let 我 = '...';Зарезервированные имена
Например: let, class, return и function зарезервированы.
let let = 5; // нельзя назвать переменную "let", ошибка!
let return = 5; // нельзя назвать переменную "return", ошибкаКонстанты
Чтобы объявить константную, то есть, неизменяемую переменную, используйте const вместо let:
const myBirthday = '18.04.1982';Переменные объявленные с помощью const, называются «константами». Их нельзя изменить. Попытка сделать это приведёт к ошибке:
const myBirthday = '18.04.1982';
myBirthday = '01.01.2001'; // Err, константу нельзя перезаписать!Константы в верхнем регистре
Широко распространена практика использования констант в качестве псевдонимов для трудно запоминаемых значений, которые известны до начала исполнения скрипта.
Названия таких констант пишутся с использованием заглавных букв и подчёркивания.
const COLOR_RED = "#F00";
const COLOR_GREEN = "#0F0";
const COLOR_BLUE = "#00F";
const COLOR_ORANGE = "#FF7F00";
// ...когда нам нужно выбрать цвет
let color = COLOR_ORANGE;
alert(color); // #FF7F00const pageLoadTime = /* время, потраченное на загрузку ... */;Пожалуйста, потратьте время на обдумывание правильного имени переменной перед её объявлением. Делайте так, и будете вознаграждены.
Несколько хороших правил:
- Используйте легко читаемые имена, такие как userName или shoppingCart.
- Пишите имена переменных используя CamelCase
- Избегайте использования аббревиатур или коротких имён, таких как a, b, c, за исключением тех случаев, когда вы точно знаете, что так нужно.
- Делайте имена максимально описательными и лаконичными. Примеры плохих имён: data и value. Такие имена ничего не говорят. Их можно использовать только в том случае, если из контекста кода очевидно, какие данные хранит переменная.
Перерыв

Типы данных
Переменная в JavaScript может содержать любые данные. В один момент там может быть строка, а в другой – число:
// Не будет ошибкой
let message = "hello";
message = 123456;Языки программирования, в которых такое возможно, называются «динамически типизированными». Это значит, что типы данных есть, но переменные не привязаны ни к одному из них.
int i = 10; // задаем целочисленной переменной i значение 10
char symbol = 'Z'; // инициализируем переменную symbol буквой Z
float f = 15.7F; // переменная f инициализируется числом 15.7С# Строго типизированный
Число
let num = 123;
let float = 12.345;Числовой тип данных (number) представляет как целочисленные значения, так и числа с плавающей точкой.
Существует множество операций для чисел, например, умножение *, деление /, сложение +, вычитание - и так далее.
Кроме обычных чисел, существуют так называемые «специальные числовые значения», которые относятся к этому типу данных: Infinity, -Infinity и NaN.
alert( 1 / 0 ); // InfinityInfinity представляет собой математическую бесконечность ∞. Это особое значение, которое больше любого числа.
NaN означает вычислительную ошибку. Это результат неправильной или неопределённой математической операции, например:
alert( "не число" / 2 ); // NaN, такое деление является ошибкойСтрока
Строка (string) в JavaScript должна быть заключена в кавычки.
let str = "Привет";
let str2 = 'Одинарные кавычки тоже подойдут';
let phrase = `Обратные кавычки позволяют встраивать переменные ${str}`;alert(phrase);
Console
Обратные кавычки позволяют встраивать переменные привет
?
alert( `результат: ${1 + 2}` );Console
результат: 3
Булевый (логический) тип
Булевый тип (boolean) может принимать только два значения: true (истина) и false (ложь).
Такой тип, как правило, используется для хранения значений да/нет: true значит «да, правильно», а false значит «нет, не правильно».
let nameFieldChecked = true; // да, поле отмечено
let ageFieldChecked = false; // нет, поле не отмеченоlet isGreater = 4 > 1;
alert( isGreater ); // true (результатом сравнения будет "да")null
Это просто специальное значение, которое представляет собой «ничего», «пусто» или «значение неизвестно».
let age = null; // age неизвестна или не имеет значения.Undefined
Если переменная объявлена, но ей не присвоено никакого значения, то её значением будет undefined
let x;
alert(x); // выведет "undefined"Object
Все остальные типы называются «примитивными», потому что их значениями могут быть только простые значения (будь то строка или число, или что-то ещё). Объекты же используются для хранения коллекций данных или более сложных объектов.
let user = { // объект
name: "John", // под ключом "name" хранится значение "John"
age: 30 // под ключом "age" хранится значение 30
};
Оператор typeof
Оператор typeof возвращает тип аргумента. Это полезно, когда мы хотим обрабатывать значения различных типов по-разному или просто хотим сделать проверку.
typeof undefined // "undefined"
typeof 0 // "number"
typeof true // "boolean"
typeof "foo" // "string"Еще чуть-чуть.
alert prompt confirm
alert
Этот код отобразит окно в браузере и приостановит дальнейшее выполнение скриптов до тех пор, пока пользователь не нажмёт кнопку «OK».
alert("Hello");
prompt
Функция prompt принимает два аргумента:
Этот код отобразит модальное окно с текстом, полем для ввода текста и кнопками OK/Отмена
let result = prompt(title, [default]);title - Текст для отображения в окне.
default - Необязательный второй параметр, который устанавливает начальное значение в поле для текста в окне.

Confirm
Функция confirm отображает модальное окно с текстом вопроса question и двумя кнопками: OK и Отмена.
Результат true, если нажата кнопка OK. В других случаях false.
let result = confirm(question);let isBoss = confirm("Ты здесь главный?");
alert( isBoss ); // true если нажата OK

Task



Hello again
By Techno School
Hello again
- 36