Примитивные значения. Все типы, кроме объектов, не могут быть изменены после создания, являются примитивными значениями.

console.log(4);

console.log («это»);

console.log(не определено);

Примитивные типы: string, number, bigint, boolean, undefined, symbol, null.

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

console.log({});

console.log(x => x * 4);

Выражения.Выражения — это вопросы, на которые может ответить JavaScript. Если мы «спросим» выражения 3 + 3. JavaScript «ответит» значением 6.

console.log(3 + 3); // 6

Особая природа выражений заключается в том, что они всегда приводят к одному значению.

Проверка типа.Используя оператор typeof, мы можем проверить тип значения.

console.log(тип(3)); // "номер"

console.log(typeof("abc"); // "строка"

console.log(typeof(undefined); // «не определено»

Стек вызовов JavaScript.Стек вызовов — это механизм, позволяющий интерпретатору отслеживать свое место в сценарии, вызывающем несколько функций.

Пример:

функция добавить (а, б) {

вернуть а + б;

}

среднее значение функции (а, б) {

вернуть добавить (а, б) / 2;

}

пусть х = среднее (20, 6);

Обработка ошибок "try..catch":try..catch, который позволяет нам "отлавливать" ошибки, состоит из двух основных блоков: try и catch.

пытаться {

// код …

} поймать (ошибиться) {

// обработка ошибок …

}

Во-первых, он выполнил код внутри try {..}. Если ошибок не было, игнорируется catch(err){..}. Если обнаружена ошибка, то выполнение попытки останавливается и выполняется catch(err){…}. Здесь переменная err будет содержать объект ошибки с подробностями о том, что произошло.

Руководства по стилю.Руководство по стилю содержит общие правила написания кода в наилучшем стиле кодирования.

Некоторые популярные варианты:

Комментарии. Комментарии могут быть однострочными: начиная с // и многострочными: /* … */.

Обычно мы используем их, чтобы описать, как и почему работает код.

Плохой комментарий:

// Комментарий из нескольких строк….

// … дополнительные строки комментариев

console.log(3);

Хороший комментарий:

/**

* Прокомментируйте несколько строк…

* Вторая линия

* Больше строк

*/

console.log(3);

Кэширование.Кэширование — это полезная и удивительно сложная функция веб-браузеров. Все браузеры пытаются сохранять локальные копии статических ресурсов, чтобы сократить время загрузки страниц и минимизировать сетевой трафик.

Различные типы кэширования:

  • Кэширование клиента
  • Кэширование сервера
  • Локальное кэширование
  • Гибридное кэширование.

Кросс-браузерное тестирование. Это процесс, позволяющий убедиться, что веб-сайт или веб-приложение работают в приемлемом количестве веб-браузеров.

Причина кроссбраузерной проблемы:

  • Реализуйте функции по-разному.
  • В некоторых браузерах разный уровень поддержки технологий.

Четыре этапа тестирования: Начальное планирование -> Разработка -> Тестирование -> Исправления.

Объявление блочного уровня.В объявлении блочного уровня переменные недоступны из-за пределов заданной области блока.

Блочные области создаются:

  1. Внутри функции
  2. Внутри блока (обозначается символами { и })

Параметры по умолчанию: позволяет инициализировать именованные параметры со значениями по умолчанию, если значение не передано или не определено.

функция умножить (х, у = 2) {

вернуть х * у;

}

console.log(умножить (3, 4));

// ожидаемый результат: 12

console.log(умножить(3));

// ожидаемый результат: 6

Функция стрелки: представляет собой компактную альтернативу традиционному функциональному выражению. Но у него есть некоторые ограничения.

  • Не следует использовать в качестве метода.
  • Не имеет собственных привязок к «этому» или «супер».
  • Нельзя использовать в качестве конструкторов.
  • Не подходит для «позвонить», «применить» и «связать».