let message;
message = "привет";= это знак присваивания!
== а вот это знак равно!
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';Ключевое слово 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 = /* время, потраченное на загрузку ... */;Несколько хороших правил:
Переменная в 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) представляет как целочисленные значения, так и числа с плавающей точкой.
Существует множество операций для чисел, например, умножение *, деление /, сложение +, вычитание - и так далее.
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 (результатом сравнения будет "да")Это просто специальное значение, которое представляет собой «ничего», «пусто» или «значение неизвестно».
let age = null; // age неизвестна или не имеет значения.Если переменная объявлена, но ей не присвоено никакого значения, то её значением будет undefined
let x;
alert(x); // выведет "undefined"Все остальные типы называются «примитивными», потому что их значениями могут быть только простые значения (будь то строка или число, или что-то ещё). Объекты же используются для хранения коллекций данных или более сложных объектов.
let user = { // объект
name: "John", // под ключом "name" хранится значение "John"
age: 30 // под ключом "age" хранится значение 30
};Оператор typeof возвращает тип аргумента. Это полезно, когда мы хотим обрабатывать значения различных типов по-разному или просто хотим сделать проверку.
typeof undefined // "undefined"
typeof 0 // "number"
typeof true // "boolean"
typeof "foo" // "string"Этот код отобразит окно в браузере и приостановит дальнейшее выполнение скриптов до тех пор, пока пользователь не нажмёт кнопку «OK».
alert("Hello");Функция prompt принимает два аргумента:
Этот код отобразит модальное окно с текстом, полем для ввода текста и кнопками OK/Отмена
let result = prompt(title, [default]);title - Текст для отображения в окне.
default - Необязательный второй параметр, который устанавливает начальное значение в поле для текста в окне.
Функция confirm отображает модальное окно с текстом вопроса question и двумя кнопками: OK и Отмена.
Результат true, если нажата кнопка OK. В других случаях false.
let result = confirm(question);let isBoss = confirm("Ты здесь главный?");
alert( isBoss ); // true если нажата OK