Schematics
Title image

WEB-ПРОГРАММИРОВАНИЕ


Лекция 1 Web-программирование

Вт 10 фев 2026 14:53:21 MSK

Домашние работы

Как только оканчивается тема, с момента последней лекции по этой теме - 2 недели по этому заданию; надо отправить решение. Мягкий дедлайн (оценка 5), сделать за 2 недели. Кто делает за 3 недели, тому минус половина за задание; а тот, кто больше, то не принимается.

Лабораторные занятия двух видов:

На лабораторных занятиях можно задавать вопросы и т. д.

Первую часть семестра мы пишем front-end, а вторую часть - back-end, потом их объединяем.

Основы JavaScript Ч. 1

Код “Привет, мир!”:

console.log('Hello, World!');
// => Hello, World!

Различные арифметические операции:

console.log(10);
console.log(3 * 5 - 2);
console.log(7 * 3 + (4 / 2) - (8 + (2 - 1)));

AirBnb - компания, создавшая стандарт для форматирования кода на javaScript (js).

Линтер - программа, которая проверяет код на стиль написания (отступы, пробелы, упрощение чтение и т. д.), и может автоматически отформатировать текст кода.

Кавычки имеют разницу в js. По стандарту AirBnb, лучше использовать одинарные кавычки.

Сложение нескольких строк в одну (конкатенация):

console.log('Dragon' + 'stone');
// => Dragonstone

console.log('6' + '9');
// => 69

Создание переменной:

let variable;
let new_variable = "lol";

console.log(variable);
// => undefined
console.log(new_variable);
// => lol

Создание константы:

const word = "lol";
word = "kek" // Будет ошибка

Можно записывать в переменную выражение:

let count = 35 + 34
console.log(count)
// => 69

Стили именования

Стили:

В JavaScipt используется CamelCase и его вариация lowerCamelCase. Для переменных lowerCamelCase, а для наименования классов — CamelCase.

Магические числа

Использование в выражениях числовых коэффициентов без объяснения это плохая практика. Код должен быть самодокументированным.

// Плохая практика
let dollarsCount = 50 * 1.25;

// Хорошая практика
let dollarsPerEuro = 1.25
let dollarsCount = 50 * dollarsPerEuro

Также хорошей практикой будет разбиение кода на отдельные блоки с помощью пустых строк (как код сверху, два блока разделены пустой строкой).

Интерполяция

Примитивный способ:

const firstName = 'lol';
const greetings = 'Zdarova';

console.log(greeting + ', ' + firstName + '!');
// => Zdarova, lol!

Интерполяция:

console.log(`${greeting}, ${firstName}!`);
// => Zdarova, lol!

Извлечение символов из строки

const firstName = "Lol";

console.log(firstName[0]);
// => L
const firstName = "Lol";

console.log(firstName[5]);
// => undefined

Типы данных

Примитивные типы:

Составной тип:

Object:

// Похоже на словари в python
const user = {name: 'Lol', age: 20};

undefined

Явное преобразование типов

Неизменяемость и примитивные тиы

JS не изменит неизменяемый тип данных (String), но и не выведет ошибки

let firstName = 'Alexander';

firstName[0] = B;
console.log(firstName);
// => Alexander

Но можно изменить изменяемую переменную:

let firstName = 'Alexander';

firstName = 'Blexander';
console.log(firstName);
// => Blexander

Слабая типизация

В JS очень слабая типизация: когда JS видит несоответствие типов, он пытается сам преобразовать данные

Основы JavaScript Ч. 2

Функции

Есть встроенные в язык и написанные самим разработчиком функции. В JS есть модули (файлы с кодом на JS и расширением файла .js), а есть пакеты (набор модулей).

// length - функция, написанная разработчиком в файле string.js
import { length } from './js-basics/string.js';

// использование функций
const result = length('Hello!');
console.log(result); // => 6

В JS есть стандартная библиотека, которая предоставляет встроенные функции. При запуске в браузере эти функции находятся в одном пространстве имен с программой, и их даже не надо импортировать.

Сигнатура функции

const result = Math.pow(2, 'boom');
console.log(result); // => NaN